Javascript正则表达式匹配和替换

时间:2016-03-02 20:30:38

标签: javascript regex

所以我是Javascript和正则表达式的新手,我期待以最简单有效的方式使用Javascript正则表达式执行以下操作: -

2个或更多顺序'?'接着是一个'然后是空格,逗号或句号,用撇号替换。否则删除2个或更多顺序的序列'?' (不要用空格代替)。

我尝试过这样的事情:

str.replace(/?{2,}s,/g,"'s,");
str.replace(/?{2,}s./g,"'s.");
str.replace(/?{2,}s\s/g,"'s ");

但我不知道如何在一行中做到这一点

1 个答案:

答案 0 :(得分:0)

你的正则表达式可以简化为最后只使用一个字符类,因为它是唯一改变的部分。您还可以捕获最后一个元素,并在匹配时使用它来替换字符串。

var newStr = str.replace(/\?{2,}s([,\s.])/g,"'s$1");