Javascript RegExp字符串模式

Roh*_*han 3 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]++;

}
Run Code Online (Sandbox Code Playgroud)

但是,这段代码不起作用 - 我假设由于引号.我该怎么做呢?

非常感谢.

Tri*_*ych 7

/pattern/文字只能作为,以及,一个文字.不在字符串中.

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

var re = new RegExp(pattern_1)
Run Code Online (Sandbox Code Playgroud)

在这种情况下,你会省略封闭的frontslashes(/).这两行是等价的:

var re = /abc/g;
var re = new RegExp("abc", "g");
Run Code Online (Sandbox Code Playgroud)