2013-08-16 52 views
0

我想創建一個PHP REGEX匹配,如果任何單詞以'#'開始就像'#ball'一樣。我試過這個PHP正則表達式 - 尋找多個字開始像##'''#''

preg_match_all('/(#\w+)/u', $text, $matches); 

但它返回包含'#'的所有單詞,如'pin#ball'。

+0

谷歌「#標籤的正則表達式」 - 拳頭resut:http://stackoverflow.com/questions/1563844/best-hashtag-regex這是.NET,但嘿它的正則表達式 – DanFromGermany

回答

1

試試這個:

$sData = '#pin all#foo #bar'; 
preg_match_all('/(^|\s+)#([a-zA-Z]+)/', $sData , $rgMatches); 
//var_dump($rgMatches[2]); 
+0

您需要使用'preg_match_all'捕獲所有比賽。 –

+0

just /#[a-zA-Z] + /刪除前面的空格 – Elpy

+0

@VictorStanciu - 謝謝。之前沒有注意到。編輯。 –

1

試試這個正則表達式。

preg_match_all('/(?!\b\s*)#.*\b/', $text, $matches);