gpt4 book ai didi

javascript - 如何增加通过正则表达式匹配的数字?

转载 作者:搜寻专家 更新时间:2023-11-01 04:55:50 25 4
gpt4 key购买 nike

我正在我的一个网络应用程序中添加一个新字段,供访问者添加产品。按下“添加产品”会克隆现有输入之一,我将其设置为空白值。

但是我需要更新名称。名称采用以下格式:

<input type="text" name="product[0][0][3][title]" value="my product" id="input-AbGHtQS3" maxlength="150" />

我需要递增最后一个数字索引,即本例中的 3。

我写了一个正则表达式来匹配适当的字符,但我如何增加最后一个数字?

这是我的正则表达式:

/^product\[\d+\]\[\d+\]\[(\d+)\]\[.+\]/

我如何增加最后一个数字?

最佳答案

来自:Use RegExp to match a parenthetical number then increment it

replace 方法可以将一个函数作为它的第二个参数。它获取匹配项(包括子匹配项)并返回替换字符串。其他人已经提到括号需要转义。

"Item Name (4)".replace(/\((\d+)\)/, function(fullMatch, n) {
return "(" + (Number(n) + 1) + ")";
});

所以,

*编辑:

这应该可行

"product[0][0][3][title]".replace(/(^product\[\d+\]\[\d+\]\[)(\d+)(\]\[.+\])/, function(fullMatch, n, a, o) {
return n + (Number(a) + 1) + o;
});

关于javascript - 如何增加通过正则表达式匹配的数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1912536/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com