gpt4 book ai didi

javascript - 如何在 Javascript 中对正则表达式反向引用匹配执行操作?

转载 作者:数据小太阳 更新时间:2023-10-29 05:13:27 25 4
gpt4 key购买 nike

在 javascript 中,我有一个包含数字的字符串,我想将值递增 1。

例子:

var string = "This is a string with numbers 1 2 3 4 5 6 7 8 9 10";

var desiredResult = "This is a string with numbers 2 3 4 5 6 7 8 9 10 11";

使用正则表达式,是否可以对匹配的反向引用执行操作(在本例中为加法)?

A 找到了一个类似的 question使用 ruby :

string.gsub(/(\d+)/) { "#{$1.to_i + 1}"}

最佳答案

使用string.replace以函数作为第二个参数:

var s1 = "This is a string with numbers 1 2 3 4 5 6 7 8 9 10";
var s2 = s1.replace(/\d+/g, function(x) { return Number(x)+1; });
s2; // => "This is a string with numbers 2 3 4 5 6 7 8 9 10 11"

请注意,如果您使用匹配组,那么函数的第一个参数将是整个匹配项,后面的每个参数将是编号的匹配组。

var x = "This is x1, x2, x3.";
var y = x.replace(/x(\d+)/g, function(m, g1) {
return "y" + (Number(g1)+1);
});
y; // => "This is y2, y3, y4."

关于javascript - 如何在 Javascript 中对正则表达式反向引用匹配执行操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8825699/

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