javascript - 正则表达式 Javascript 在模式中使用变量

标签 javascript regex

我知道以前有人问过这个问题,但建议的解决方案都不适合我。我有以下内容:

  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/

相关文章:

javascript - 将给定 div 中的每个字母放在单独的范围内

java - 正则表达式:String.split 和 Pattern.matches 不一致

javascript - Esprima 解析器工作示例

javascript - 使用 Socket.io 和 Node js 创建基本聊天应用程序

c# - 以前工作的 REGEX 匹配现在失败

python - Django URL 正则表达式与 GET 正确匹配但与 POST 不匹配

regex - 如何在 powershell 中使用正则表达式在第一次出现时进行拆分

python - 字符串格式/模板/正则表达式

javascript - 降低 Google App Engine 成本

javascript - 我怎样才能专注于 selectize 选择框?