我需要检查 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/