如何使用正则表达式搜索字符串并仅更改其中的一部分?

时间:2016-08-02 00:24:10

标签: javascript regex

你如何使用/[a-z].\s[a-z]/g进行匹配,但只想将句号更改为逗号?

例如:

"asdf. Aasdfcs. adGDS$gGB. Basdf".replace(/[a-z]\.\s[a-z]/g, ", ")

这将匹配“s.a”,但我希望结果是“asdf.Aasdfcs,adGDS $ gGB.BasdfB”而不改变字母,只是逗号的句号。任何事都可以在这个字符串之前或之后出现。

1 个答案:

答案 0 :(得分:3)

当然,通过使用捕获组!使用括号组成一个组,$n访问该组:

"asdfcs. adGDS$gGB".replace(/([a-z])\.\s([a-z])/g, "$1, $2");

为方便起见,请参阅此代码段的结果:

alert("asdfcs. adGDS$gGB".replace(/([a-z])\.\s([a-z])/g, "$1, $2"));