2
在回答这个PHP问题:regex - preg_replace string,我遇到了Javascript中的某些东西,我不明白。 考虑以下几点:
var s = "abc1!?d$";
alert(s.replace(/\W+/, " "));
我警告:
abc d$
为什么不剥出最后一块钱?
在回答这个PHP问题:regex - preg_replace string,我遇到了Javascript中的某些东西,我不明白。 考虑以下几点:
var s = "abc1!?d$";
alert(s.replace(/\W+/, " "));
我警告:
abc d$
为什么不剥出最后一块钱?
因为有一个介入的单词字符。试试这个:
alert(s.replace(/\W+/g, ' '));
如果在正则表达式中没有“g”后缀,它只会进行一次替换。那处理“!?”在中间,但是“d”结束了序列。
因为你没有在你的匹配器上使用(g)lobal标志,所以它只匹配非单词字符的第一个连续序列。
下应该给你所期望的结果:
var s = "abc1!?d$";
alert(s.replace(/\W+/g, " "));
没错,这是'g'标志由于缺少。 –
啊哈!辉煌。谢谢 –