2014-09-20 35 views
0

我需要看看一個字符串,並找到 - 字符采用1個以上捕捉重複 - 在PHP信 - 正則表達式

$輸入=「堆棧溢出 - 2014 - 新」 //包含重複字符 - 超過2次

我發現了各種真正接近的答案,但並不完全。 有沒有一個PHP正則表達式來捕捉這種情況? (我有一個基本的正則表達式的知識,但這對我來說太多)

$regex=' '; //// that what i need 
if (preg_match('/(\w)\1{5,}/', $input)) { 
# Successful match 
} else { 
# Match attempt failed 
} 

回答

0

正則表達式不是計算字符串中出現次數的最佳選擇。對於PHP,有一種方法叫做substr_count()

例如,

$s = 'stack-overflow - 2014 - new'; 
if (substr_count($s, '-') >= 2) { 
    // at least 2 times 
} 
+0

謝謝你讓我覺得它的作品! – 2014-09-20 19:58:49

0

我想你問的是如何匹配多個連字符(-)與正則表達式?如果是這樣,這個表達式就可以了:

/-+/ 

/ =定界符

- =匹配連字符

+ =匹配多個前面的字符的出現