2010-09-25 53 views
9

我在這樣的PHP中有一個字符串。Php正則表達式重複字符

$海峽=「ABCCCDE」 //蘊含重複字符CCC的2倍以上

我想知道是否有任何重複的字符使用正則表達式的2倍以上。

在此先感謝

+2

連續序列? – Gumbo 2010-09-25 07:32:43

回答

18
if (preg_match('/(.)\\1{2}/', $str)) 
    echo "Has 3 same characters consecutively!"; 

(.)將匹配任何字符(除新線),以及\1將匹配的模式相同,第一個匹配的組 - 在這種情況下,我們就已經字符匹配。因此,此RegEx將匹配3個相同的連續字符。

+0

當字符串「abccde」時返回1。它應該返回1只有一個重複的字符超過2次 – Novice 2010-09-25 07:35:10

+0

@ Shahid:現在不行了。 – kennytm 2010-09-25 07:37:21

3

您可以使用:

'/(.)\1\1/' 

例如爲:

preg_match('/(.)\1\1/', $str, $matches);