Co7*_*o7e 0 regex regex-negation
我想要匹配不包含连续 3 个以上重复的相同字符的字符串。所以:
是的,对包含连续字符进行正则表达式匹配,然后在代码中对其进行否定会更容易、更简洁。然而,在这种情况下这是不可能的。
我想将问题展开为 x 个连续字符,以便可以将其扩展到一般情况,从而使问题和答案更有用。
在这种情况下支持负前瞻。
使用带有反向引用的负前瞻:
^(?:(.)(?!\1\1))*$
Run Code Online (Sandbox Code Playgroud)
使用您的示例查看现场演示。
(.)捕获组 1 中的每个字符,并且否定前瞻断言接下来的 2 个字符不是捕获字符的重复。