我想删除所有#
以字符串开头的用户名。我试过这个
preg_replace('/#/', '', 'blah blah blah #key blah blah');
但它只删除#
.
我很感激任何帮助。
/#[^\b]+/
应该可以正常工作。
正则表达式的解释:
#
#
一个字字[^\b]+
匹配任何内容,直到遇到单词边界
^
“不是”的意思\b
是单词边界,将匹配任何非字母数字字符(或字符串结尾),因此支持“ my string #username. Another string
”来匹配#username
例如。[^\s]+
不支持。(它将与期间相匹配)+
意思是“重复一次或多次”在代码中:
preg_replace('/#[^\b]+/', '', 'blah blah blah #key blah blah');
如果您的用户名不包含空格,那么这应该有效
preg_replace('/#[^\s]+/', '', 'blah blah blah #key blah blah');
试试这个 :
echo preg_replace('/#\w+/', '', 'blah blah blah #key blah blah');
输出 :blah blah blah blah blah