**[正则-超难]正则的正则[正则-超难]**
**[正则-超难]正则的正则[正则-超难]**
规则不用说了吧。我的目的,就是需要匹配正则的分组。Regex对象可以得到分组的组号,但是没有分组长度和开始位置。我需要写一个。
要考虑的很多。
abc(?<test>abcd>abc 结果应该是3,13
abc(?:abcd>abc 结果应该是0,0
abc(?'t'o)[^o]*(?'-t')(?(o)(?!)) 这里应该没有分组,当然如果算有。也可以(?!)算一个分组也可以的。
abc(?:(\w)\1)abc 应该是1个分组就是(\w),结果应该是6,3
abc(def(hjl(\w)\3)dst)[^)]*)hefi 应该是3个分组,分别是{3,25},{6,11},{10,3}
呵呵。是复杂了一点。如果还有可能那就是不允许的地方要考虑,例如:
[^(]test[^)]这样的应该是不算分组
([^(]test)这里的分组要考虑括号是否在[]中
(?<xxxx>fds)这是分组
(?<=xxx)这不能算分组
(?<!test)这个也不是分组