Javascript Regex用括号替换所有出现的文本

Javascript Regex用括号替换所有出现的文本,javascript,regex,Javascript,Regex,简而言之,我需要替换括号中出现的所有文本,包括字符串中的括号,并且要替换的文本将位于Javascript中的变量中。 由于括号的缘故,替换方法中的简单正则表达式不起作用 例如,将“[test][teste]test[hello]”替换为值为“hi”的变量。 输出:“hi hi test[你好]” 用“\”转义括号并使用g标志 编辑:删除i标志并将w更改为。要处理括号内的任何内容,我不太确定您要查找的内容,但是.match将把匹配项存储在一个数组中,而.replace将为您执行替换 const

简而言之,我需要替换括号中出现的所有文本,包括字符串中的括号,并且要替换的文本将位于Javascript中的变量中。 由于括号的缘故,替换方法中的简单正则表达式不起作用

例如,将“[test][teste]test[hello]”替换为值为“hi”的变量。 输出:“hi hi test[你好]”

用“\”转义括号并使用g标志


编辑:删除i标志并将w更改为。要处理括号内的任何内容,我不太确定您要查找的内容,但是.match将把匹配项存储在一个数组中,而.replace将为您执行替换

const regex=/\[.\]/g;
var mutable=“[test][teste]test”;
常量匹配=可变的。匹配(正则表达式);//将所有匹配项保存到数组中
mutable=mutable.replace(regex,'dude');//替换火柴
console.log(可变);

console.log(匹配项)因此,我找到的方法是替换我的变量,例如: var test=“[test]”, 然后我将括号替换为“\[test\]”,然后我使用:

var regex = new RegExp(test+"+","gm")

然后我在JS replace方法中使用了这个正则表达式。

不区分大小写的标志是多余的。这对于提供的示例来说是正确的,但我相信@yuribsl可以在括号中包含其他内容,但我不能替换括号中出现的每一个文本,例如在字符串“[test][test]test[hello]”中用“[test]”替换“hi”使用上面的正则表达式将变成“hi-hi-test[hello]”我得到了以下文本:var text=“[test][test]test[hello]”文本。替换(/[.*?]/g,'hi')输出:“hi-hi-test-hi”是的,这就是我理解您的问题的方式,所以您可以详细说明您真正想要什么吗?所以您正在替换文本“[test]”而不是“test”。你认为括号是特殊的,这让你感到困惑。只需将“[test]”替换为“hi”。。
var regex = new RegExp(test+"+","gm")