我正在尝试获得一个正则表达式,当给定的字符串中至少包含一个由3个或更多重复的连续字符组成且没有其他字符的单词时,将满足该表达式:
Testing AAAAAA Test
-有效
Testing AAAAAAB Test
-无效
我以前达到的解决方案还不足以识别单词中是否存在不同的字符:
/^(?:(.)(?!\1{2}))+$/gi
这实际上只是测试每个字符后的两个字符是否相等。
有什么想法吗?
答案 0 :(得分:2)
怎么样
\b(.)\1{2,}\b
是
\b word boundary
(.) something
\1 previous thing...
{2,} ...twice or more
\b word boundary
答案 1 :(得分:1)
添加单词边界。并使用{2,}
匹配至少 2个重复。
/\b(.)\1{2,}\b/
由于您不匹配字母,所以不需要i
,因此大小写无关紧要。并且仅在测试时不需要g
;只有在您返回所有匹配项或进行替换时,此选项才有用。