如何用字符串本身替换数字+ 1?

问题描述 投票:0回答:1

我有一个字符串,如“我们有一个foobar,每个bar最多可以提供20个foo。”我想替换每次出现的“最大为” +任意数量的数字<number++的长度。上述字符串将导致:

“我们有一个foobar,可以为每个bar提供<21 foo。”

我对诸如此类的东西表示怀疑

string.replace("/maximum\sof\s\d+/ig", `<${$1++}`)

但是我不能让它作为$ 1仅反向引用整个捕获组,而不是单个数字。我也在字符串格式方面苦苦挣扎。

javascript regex replace backreference
1个回答
0
投票
您可以使用回调函数和捕获组

let str = "We have a foobar which can provide a maximum of 20 foo per bar." let replaced = str.replace(/(maximum\sof\s)(\d+)/ig, (_, g1, g2) => g1 + (+g2+1)) console.log(replaced)
© www.soinside.com 2019 - 2024. All rights reserved.