繁体   English   中英

javascript正则表达式跳过方括号

[英]javascript regex skip square brackets

我有一个弦

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个单独变量的字符串中。

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

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

(如果要对替换功能的参数进行解释,可以阅读上方的MDN链接,或在此处查看我的回答

但是,我不知道这是否是解决更大问题的好方法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM