使用正则表达式替换字符串中的匹配项

时间:2014-01-13 21:31:22

标签: javascript regex replace

我正在尝试将String.replace()与正则表达式一起使用来替换匹配的表达式。

像这样:

var newStr = loc.replace(/Slide(\d*)/,(i+1));

此表达式转为

https://xxxxxxx.net/qa/club/Slide1.PNG

https://xxxxxxx.net/qa/club/1.PNG

我只想在“幻灯片”之后替换数字,而不删除单词。我怎么能这样做?

1 个答案:

答案 0 :(得分:3)

使用捕获组并将其插入替换组中。

loc.replace(/(Slide)\d*/, '$1' + (i+1));

如果单词总是滑动,那么你可以简单地使用它而不捕获任何东西

loc.replace(/Slide\d*/, 'Slide' + (i+1));

围绕(i + 1)的约束对于在字符串连接之前强制进行数学运算很重要。

如果Slide后跟一个数字,请将*更改为正则表达式中的+