Javascript,正则表达式:用空格和匹配的字符替换指定的字符

时间:2013-07-10 19:26:48

标签: javascript regex

我正在尝试将javascript replace()与正则表达式一起使用,以便在匹配某些字符时使用:.,!?它将替换匹配的字符,并将其自身包围在空格中。例如,字符串"hello?!?"将变为"hello ? ! ? "

对于我希望替换的每个角色,有没有比仅仅string.replace()更好的方法?

我知道我可以使用'/[!\?\.]/g'轻松选择字符,但是用它匹配的相同字符替换它会让我望而却步。

2 个答案:

答案 0 :(得分:4)

就像添加反向引用一样简单:

"hello?!?".replace(/([!?\,\.])/g, ' $1 ');

答案 1 :(得分:0)

如果'/[!\?.]/g'与正则表达式匹配,只需通过用()' s围绕它来捕获该组    '([!\ ?.])/ /克'

然后使用返回的匹配组获取您匹配的字符