所以我想在字符串中找到用户名并将它们放在一个数组中,我已经制作正则表达式并返回匹配,但是当有2个匹配时它只将第一个放在数组中。任何人都可以看到我的正则表达式有什么问题吗?
$reactie = 'hey @sjerd and @jeska';
$pattern = '/@\w*/';
preg_match($pattern, $reactie, $matches);
print_r($matches);
答案 0 :(得分:3)
您需要使用带有字边界的正确正则表达式preg_match_all
:
$reactie = 'hey @sjerd and @jeska';
$pattern = '/@\w+\b/';
preg_match_all($pattern, $reactie, $matches);
print_r($matches[0]);