需求是,有一任意长度的字符串,要将其按每四个1组的等长度分割成一数组
实现过程是这样的:
现在需求变了:
这样子的话,可以这样来实现:
之所以用 (?<=\G(?:\w+[,,]){3}) 而 不用 (?<=\G(\w+[,,]){3})
是因为 如果在 Regex.Split 表达式中使用捕获组,则生成的字符串数组中会包含捕获组。
最后帖上 \G 的 MSDN解释:指定匹配必须出现在上一个匹配结束的地方。与 Match.NextMatch() 一起使用时,此断言确保所有匹配都是连续的。
http://msdn.microsoft.com/zh-cn/library/h5181w5w(v=vs.80).aspx
本文介绍如何利用正则表达式的特殊语法G结合非捕获组(?:)实现对字符串进行精确切割的方法,适用于将长字符串按指定数量的元素进行分组。
1144





