【发布时间】:2013-11-21 21:25:41
【问题描述】:
给定一个输入文本,其中所有空格都替换为 n _ :
Hello_world_?. Hello_other_sentenc3___. World___________.
我想保留单词之间的 _,但我想将每个标点符号粘贴到句子的最后一个单词上,最后一个单词和标点符号之间没有任何空格。我想使用标点符号作为我的正则表达式的支点。
我写了以下 JS-Regex:
str = str.replace(/(_| )*([:punct:])*( |_)/g, "$2$3");
这失败了,因为它返回:
Hello_world_?. Hello_other_sentenc3_. World_._
为什么它不起作用? 如何删除最后一个单词和标点之间的所有“_”? http://jsfiddle.net/9c4z5/
【问题讨论】:
-
我不相信 JS 在其正则表达式实现中有
:punct:选项。 -
你知道我应该用什么代替吗?
标签: javascript regex