2011-10-11 74 views
5

我需要簡化下面的正則表達式包括字母表中的所有字母:我想找到同樣的三個字符的所有序列正則表達式匹配字符重複三次

(a{3})|(b{3})|(c{3})|(z{3})|(A{3})|(B{3})|(C{3})|(Z{3}) 

在實踐中,例如:

aaa 
bbb 
nnn 
VVV 
JJJ 

等等。

回答

8

使用反向引用。例如。在sed:

\([a-zA-Z]\)\1\1 

或PERL正規表達式

([a-zA-Z])\1\1 
7

使用反向引用的正則表達式將是合適的。

([a-z])\1{2} 

因此,沿着preg_match('/([a-z])\1{2}/i', $string);行的東西就足夠了。