所以我是Javascript和正则表达式的新手,我期待以最简单有效的方式使用Javascript正则表达式执行以下操作: -
2个或更多顺序'?'接着是一个'然后是空格,逗号或句号,用撇号替换。否则删除2个或更多顺序的序列'?' (不要用空格代替)。
我尝试过这样的事情:
str.replace(/?{2,}s,/g,"'s,");
str.replace(/?{2,}s./g,"'s.");
str.replace(/?{2,}s\s/g,"'s ");
但我不知道如何在一行中做到这一点
答案 0 :(得分:0)
你的正则表达式可以简化为最后只使用一个字符类,因为它是唯一改变的部分。您还可以捕获最后一个元素,并在匹配时使用它来替换字符串。
var newStr = str.replace(/\?{2,}s([,\s.])/g,"'s$1");