要匹配@Tag的RegExp

要匹配@Tag的RegExp,regex,Regex,我想在我的应用程序中实现一个标签系统。类似@User1的东西将输出 我知道如何使用[tag]User1[/tag]这样的东西,但我不喜欢BBCode样式。 我试过这样的方法:preg_match_all('/@(.*)[\s\s]/',$str,$matches)但它不起作用 有什么建议吗? 谢谢你的帮助 解决方案: preg_match_all('/@(+?)\b/',$str,$matches)@(.*)[\s|\s]将匹配所有字符,直到最后一个非空格、空格或管道字符(即所有字符)。我相信你

我想在我的应用程序中实现一个标签系统。类似@User1的东西将输出

我知道如何使用[tag]User1[/tag]这样的东西,但我不喜欢BBCode样式。 我试过这样的方法:
preg_match_all('/@(.*)[\s\s]/',$str,$matches)但它不起作用

有什么建议吗? 谢谢你的帮助

解决方案:

preg_match_all('/@(+?)\b/',$str,$matches)

@(.*)[\s|\s]
将匹配所有字符,直到最后一个非空格、空格或管道字符(即所有字符)。我相信你想用

@(.+?)\b
这将匹配到第一个单词边界的每个字符(因为
,不情愿的量词)<还使用了code>+,因为用户名中可能必须至少有一个字符