2015-02-09 5 views
2

, поэтому я хочу найти имена пользователей в строке и поместить их в массив, я создал регулярное выражение, и он возвращает совпадение, но когда есть 2 совпадения, он помещает только первый в массиве. Может ли кто-нибудь увидеть, что не так с моим регулярным выражением?regex найти имена пользователей, начинающиеся с @ 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]); 
Смежные вопросы