我正在尝试将javascript replace()
与正则表达式一起使用,以便在匹配某些字符时使用:.,!?
它将替换匹配的字符,并将其自身包围在空格中。例如,字符串"hello?!?"
将变为"hello ? ! ? "
。
对于我希望替换的每个角色,有没有比仅仅string.replace()
更好的方法?
我知道我可以使用'/[!\?\.]/g'
轻松选择字符,但是用它匹配的相同字符替换它会让我望而却步。
答案 0 :(得分:4)
就像添加反向引用一样简单:
"hello?!?".replace(/([!?\,\.])/g, ' $1 ');
答案 1 :(得分:0)
如果'/[!\?.]/g'
与正则表达式匹配,只需通过用()' s围绕它来捕获该组
'([!\ ?.])/ /克'
然后使用返回的匹配组获取您匹配的字符