PHP正则表达式要替换吗?
我要在字符串中用逗号分隔字母数字(带空格)和非字母数字。
我试过这个.
$str = "This is !@#$%^&";
preg_replace("/([a-z0-9_s])([^a-z0-9_])/i", "$1, $2", $str);
但是我得到了这个结果.
这是!@#$%^&;
如何修复搜索模式才能获得此结果?
这是!@#$%^&;
谢谢。
解决方案
您应该为第二个组否定第一个组中的所有内容,如下所示:
preg_replace("/([a-z0-9_s])([^a-z0-9_s])/i", "$1, $2", $str);
否则,它也会在空格上拆分。
相关文章