PHP preg_match_all字符串以@后跟任何字符开头

时间:2014-02-28 17:28:07

标签: preg-match-all

我有这行代码:

preg_match_all('/(?!\b)(@\w+\b)/', $s, $rgMatches);

$ s是要搜索的长字符串(包括空格),$ rgMatches是匹配数组

这行代码将匹配@blahblah或@ blah22blah等字符串 但是,如果字符串包含@ blah.blah(字母间的一个点),则它不匹配。

如何改进我的代码?

1 个答案:

答案 0 :(得分:0)

您可以使用此模式:

/\B@\w+(?:\.\w+)*/

或更宽容:

/\B@[\w.]+/

\B对您要执行的操作可能没有用处,它是(?!\b)

的翻译