javascript正则表达式跳过方括号

时间:2014-11-03 09:18:40

标签: javascript regex

我有一个字符串

var oldName = "questions[0].answers[3].answer";

我想将答案部分增加到[4](当前值为+1)。 如果是questions[0].answers[6].answer,它应该成为问题[0] .answers [7] .answer。

我尝试了以下但我没有得到任何结果。

var matches = oldName.match(/(\d+)answers(\d+)/)
var number1 = Number(matches[1]);
var number2 = Number(matches[2]);

我需要将字符串中的数字存储在2个单独的变量中。

1 个答案:

答案 0 :(得分:1)

这样做很简单,只需为String.replace提供替换功能:

str.replace(/answers\[(\d+)\]/, function (_, $1) {
     return "answers[" + (+$1 + 1) + "]";
});

(如果您想要对替换功能的参数进行说明,可以阅读上面的MDN链接,或my answer here

但是,对于更大的问题,这是否是一个很好的解决方案,我不知道。