【发布时间】:2014-09-10 11:56:48
【问题描述】:
我正在尝试检查一个单词是否有三个或更多重复的“两个字母减少”,但只有当 相同的字母被重复时,表达式才会返回 true。为什么?
(([a-z])([^\1]))\1\2{2,}
^ ^ ^ ^ ^
1 2 3 4 5
1) 任意字母(捕获集\1)
2) 任何未设置为 1 的字符(捕获设置 \2)
3) 再次捕获 \1
4) 再次捕获 \2
5) 至少两次
应该返回 TRUE 的单词: asasasassafasf, ereeeererererere, dddddtrtrtrtrtruuuuuuuu
应该返回 FALSE 的词: dddddddd, rrrrrrrrrrlkajf, fffffffssssssytytffffff
【问题讨论】:
-
反向引用在字符类中不起作用(毕竟它们可能由多个符号组成)。请参阅 General approach for (equivalent of) "backreferences within character class"? 以了解前瞻替代方案。
-
很少有例子将极大地帮助您澄清问题。
-
@anubhava asasasas bhbhbhbhbh blaytytytyt...
-
你真的需要给我们举个例子。对
have three or more repeating 'two letters pairs'有几种解释