在使用变量时在正则表达式中跳转方括号?

问题描述:

我有这样的代码替换所有开闭方括号这里面有一个匹配的变量:在使用变量时在正则表达式中跳转方括号?

for (var j = 0; j <= temp.length; j++) { 
    var re = new RegExp("["+j+"]", 'g'); 
    imgData = imgData.replace(re, temp[j]); 
} 

线var re = new RegExp("["+j+"]", 'g');不起作用,因为我假设括号不被转义。有谁知道我会如何逃避他们,但仍然能够在模式中有一个变量?谢谢! :)

你应该用反斜杠转义:

var re = new RegExp("\\[" + j + "\\]", "g"); 
+0

啊,我明白了!谢谢。 :) –