但有变量str1=“abc”,想匹配st1中的字符串,
常用的正则语句是 string.replace(/str1/g,str2);
但运行后发现匹配的仍然是“str1”四个字符,不是abc。
若想将str1作为变量来用,应该怎么做呢?
可以利用构造函数来生成正则表达式。
var reg=new RegExp(str1,"g");
string.replace(reg, str2);
则可成功匹配 “abc”。
如果是想匹配 “abcd”,则可var reg=new RegExp(str1+“d”,"g");
还有一种方法是用eval动态执行一段字符串的方法,但推荐上一种方法。
var re=eval("/"+str+"/g");