5

给定以下字符串:

Backticks[0].Folders[0]

我需要增加后一个数字。

我不是正则表达式替换的专家,我试过这个,但它也选择了括号。

href = href.replace(/\d+]$/gi, matchedNumber++);

是否可以在一个衬垫中进行选择、增量和替换?

4

2 回答 2

5

可以在一行中完成

'Ace[0].Folders[0]'.replace(/\d+(?=]$)/, function(i) { return parseInt(i) + 1; })
于 2013-05-09T01:04:44.493 回答
1

使用积极的前瞻:

/\d(?=]$)/gi

这将确保在数字之后的字符串结尾之后有任何字符,而不将其包含在替换中。

如果你想增加它,你可以使用matchand parseInt

var href = this.href;
var re = /\d(?=.$)/gi
href = href.replace(re, parseInt(href.match(re))+1);

这是一个页面,您可以在其中了解更多信息。

这是一个小提琴。

于 2013-05-09T00:59:17.970 回答