繁体   English   中英

正则表达式和JavaScript字符串最后一美元($)

[英]Regex and JavaScript String With a Dollar ($) at the end

在回答这个PHP问题时: regex - preg_replace字符串 ,我在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, " "));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM