正则表达式用方括号替换所有出现的文本

时间:2019-05-13 17:28:58

标签: javascript regex

简而言之,我需要替换括号之间的所有文本,包括字符串中的括号,并且要替换的文本将在Javascript中的变量中。 替换方法中的简单正则表达式由于括号而无法使用。

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

3 个答案:

答案 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替换方法中使用了此正则表达式。