简而言之,我需要替换括号之间的所有文本,包括字符串中的括号,并且要替换的文本将在Javascript中的变量中。 替换方法中的简单正则表达式由于括号而无法使用。
例如,将“ [test] [teste] test [hello]”替换为值为“ hi”的变量。 输出:“ hi hi test [hello]”
答案 0 :(得分:1)
"[test] [teste] test".replace(/\[.*?\]/g, 'hi')
使用“ \”转义括号并使用g标志
edit:删除了i标志,并将w更改为。处理括号内的任何东西
答案 1 :(得分:0)
我不太确定您要查找什么,但是.match将匹配项存储在数组中,而.replace将为您执行替换操作。
const regex = /\[.*?\]/g;
var mutable = "[test] [teste] test";
const matches = mutable.match(regex); // Save all matches to an array
mutable = mutable.replace(regex, 'dude'); // Replace matches
console.log(mutable);
console.log(matches);
答案 2 :(得分:0)
所以,我发现这样做的方法是替换变量,例如: var test =“” [test]“, 然后,我将其放在了方括号中,这样它将变成“ \ [test \]”,然后我使用了:
var regex = new RegExp(test+"+","gm")
然后我在JS替换方法中使用了此正则表达式。