我想要匹配不包含连续 3 个以上重复的相同字符的字符串。所以:
- abaaaa [不匹配]
- abawdasd [比赛]
- abbbbasda [不匹配]
- 巴巴巴巴 [比赛]
是的,对包含连续字符进行正则表达式匹配,然后在代码中对其进行否定会更容易、更简洁。然而,在这种情况下这是不可能的。
我想将问题展开为 x 个连续字符,以便可以将其扩展到一般情况,从而使问题和答案更有用。
在这种情况下支持负前瞻。
使用带有反向引用的负前瞻:
^(?:(.)(?!\1\1))*$
See 现场演示 http://rubular.com/r/XFQR6n8qxQ使用你的例子。
(.)
捕获组 1 中的每个字符,并且否定前瞻断言接下来的 2 个字符是not重复捕获的字符。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)