gpt4 book ai didi

javascript - JS/正则表达式 : How to set group in a regex for multiple replacement?

转载 作者:行者123 更新时间:2023-11-29 23:43:12 24 4
gpt4 key购买 nike

我想用另一个字符串替换一个字符串。我的问题是,搜索字符串是一个变量,我需要为此设置一个组,因为我想重用原始匹配字符串。

const string = 'Any string with many words'
const label = 'any'
const re = new RegExp(label, 'gi')

string = string.replace(
re,
'>>>' + $1 + '<<<'
)

console.log(string)
// Expect: >>>Any<<< string with m>>>any<<< words

最佳答案

您需要在 string 替换模式中使用反向引用。此外,要访问整个匹配值,您需要使用 $& 反向引用,而不是 $1$1 反向引用将在您使用圆括号围绕整个模式时起作用(例如 new RegExp(`(${label})`, 'gi')),但您确实这样做了不需要,因为有一个方便的 $& 反向引用。参见 Specifying a string as a parameter .

let string = 'Any string with many words';
const label = 'any';
const re = new RegExp(label, 'gi');

string = string.replace(
re,
'>>>$&<<<'
)

console.log(string)

请注意,如果您需要修改其值,则不应将 string 声明为 const(我在上面使用了 let)。

请注意,如果您的 label 包含特殊的正则表达式字符,最好使用 escape the label value .

关于javascript - JS/正则表达式 : How to set group in a regex for multiple replacement?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44717142/

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