我知道以前有人问过这个问题,但建议的解决方案都不适合我。我有以下内容:
var regex = new RegExp(/D0030001 IN/gi);
$("p").filter(function () {
return regex.test(this.id);
}).css("background-color","blue");
这个效果很好。但是,当我尝试这样做时
spl = [];
spl[0] = "D0030001";
spl[1] = "IN";
var regex = new RegExp("/" + spl[0] + " " + spl[1] + "/gi");
$("p").filter(function () {
return regex.test(this.id);
}).css("background-color","blue");
这个不行。换句话说,我需要使用变量来构造正则表达式模式。谢谢
最佳答案
您需要使用 RegExp 构造函数的第二个参数来设置标志,并且不需要 //
分隔符。
var regex = new RegExp(spl[0] + " " + spl[1], "gi");
关于javascript - 正则表达式 Javascript 在模式中使用变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27246754/