我需要简化以下正则表达式以包含字母表中的所有字母:
(a{3})|(b{3})|(c{3})|(z{3})|(A{3})|(B{3})|(C{3})|(Z{3})
在实践中,我想找到相同三个字符的所有序列,例如:
aaa
bbb
nnn
VVV
JJJ
等等。
答案 0 :(得分:9)
使用反向引用。例如。在sed:
\([a-zA-Z]\)\1\1
或PERL正则表达式
([a-zA-Z])\1\1
答案 1 :(得分:8)
使用反向引用的正则表达式是合适的。
([a-z])\1{2}
所以preg_match('/([a-z])\1{2}/i', $string);
的内容就足够了。