Javascript 正则表达式字符串模式

标签 javascript

我需要检查 JS 匹配动态生成的字符串。

即。

for(i=0; i< arr.length; i++)
{
 pattern_1="/part of "+arr[i]+" string!/i";

 if( string.search(pattern_1) != -1)
  arr_num[i]++;

}

但是,此代码不起作用 - 我推测是由于引号引起的。我该怎么做?

非常感谢。

最佳答案

/pattern/ 字面量只能作为字面量使用。不在字符串中。

如果要使用字符串模式来创建正则表达式,则需要创建一个新的 RegExp 对象:

var re = new RegExp(pattern_1)

在这种情况下,您将省略封闭的前斜杠 (/)。这两行是等价的:

var re = /abc/g;
var re = new RegExp("abc", "g");

关于Javascript 正则表达式字符串模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2029880/

相关文章:

javascript - 使用 knockout 可观察量进行计算会增加计算时间

JavaScript:如何访问多维数组?

javascript - 在 InDesign 中设置对开页边距

javascript - Django 休息框架 : HTTP 401 Unauthorized error

javascript - 从 FusionCharts 导出图像缺少的拼图是什么?

javascript - 当前值未反射(reflect)在 reactjs 选择组件中

JavaScript 从函数内部引用匿名函数

javascript - 如何从字符串创建子进程

javascript - 仅当值为 false 时阻止事件并在 Vue 中包含自定义 Bulma 扩展

javascript - 如何以指定次数重复打印数组