2015-02-09 55 views
2

所以我想找到一個字符串的用戶名並把它們放在一個數組中,我做了正則表達式並且它返回匹配,但是當有兩個匹配時它只放第一個在數組中。任何人都可以看到我的正則表達式有什麼問題嗎?正則表達式尋找以@ php開頭的用戶名

 $reactie = 'hey @sjerd and @jeska'; 
     $pattern = '/@\w*/'; 
     preg_match($pattern, $reactie, $matches); 
     print_r($matches); 

回答

3

你需要用正確的正則表達式使用preg_match_all與字邊界:

$reactie = 'hey @sjerd and @jeska'; 
$pattern = '/@\w+\b/'; 
preg_match_all($pattern, $reactie, $matches); 
print_r($matches[0]);