【发布时间】:2011-10-11 21:38:18
【问题描述】:
我需要简化以下正则表达式以包含字母表中的所有字母:
(a{3})|(b{3})|(c{3})|(z{3})|(A{3})|(B{3})|(C{3})|(Z{3})
实际上我想找到相同三个字符的所有序列,例如:
aaa
bbb
nnn
VVV
JJJ
等等。
【问题讨论】:
标签: regex
我需要简化以下正则表达式以包含字母表中的所有字母:
(a{3})|(b{3})|(c{3})|(z{3})|(A{3})|(B{3})|(C{3})|(Z{3})
实际上我想找到相同三个字符的所有序列,例如:
aaa
bbb
nnn
VVV
JJJ
等等。
【问题讨论】:
标签: regex
使用反向引用。例如。在 sed 中:
\([a-zA-Z]\)\1\1
或在 PERL 正则表达式中
([a-zA-Z])\1\1
【讨论】:
使用反向引用的正则表达式将是合适的。
([a-z])\1{2}
所以类似于preg_match('/([a-z])\1{2}/i', $string); 的内容就足够了。
【讨论】: