正则表达式找到以@php开头的用户名

时间:2015-02-09 12:16:39

标签: php regex

所以我想在字符串中找到用户名并将它们放在一个数组中,我已经制作正则表达式并返回匹配,但是当有2个匹配时它只将第一个放在数组中。任何人都可以看到我的正则表达式有什么问题吗?

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

1 个答案:

答案 0 :(得分:3)

您需要使用带有字边界的正确正则表达式preg_match_all

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