我有这行代码:
preg_match_all('/(?!\b)(@\w+\b)/', $s, $rgMatches);
$ s是要搜索的长字符串(包括空格),$ rgMatches是匹配数组
这行代码将匹配@blahblah或@ blah22blah等字符串 但是,如果字符串包含@ blah.blah(字母间的一个点),则它不匹配。
如何改进我的代码?
答案 0 :(得分:0)
您可以使用此模式:
/\B@\w+(?:\.\w+)*/
或更宽容:
/\B@[\w.]+/
\B
对您要执行的操作可能没有用处,它是(?!\b)