可能重复:
passing variable to a regexp in javascript在Javascript中的现有RegExp中插入一个字符串?
我有一个变量:
resource = "user";
欲该变量插入到预定义的正则表达式(替换下方变量):
/^\/variable\/\d+$/
我该怎么做?
可能重复:
passing variable to a regexp in javascript在Javascript中的现有RegExp中插入一个字符串?
我有一个变量:
resource = "user";
欲该变量插入到预定义的正则表达式(替换下方变量):
/^\/variable\/\d+$/
我该怎么做?
使用的RegExp
构造:
var re = new RegExp("^\\/" + resource + "\\/\\d+$");
请注意,你需要躲避分隔符/
两次,一次是为正则表达式一次字符串声明。
您可能还需要使用一些逃生功能引用字符串在正则表达式中使用:
function quote(str) {
return str.replace(/(?=[\/\\^$*+?.()|{}[\]])/g, "\\");
}
这使我们这样的:
var re = new RegExp("^\\/" + quote(resource) + "\\/\\d+$");
可以使用new RegExp
方法:
var resource = "user";
new RegExp("^\/"+resource+"\/\d+$");
很多重复的,其中包括:将变量传递给JavaScript中的正则表达式](http://stackoverflow.com/questions/487509/passing-variable-to-a-regexp-in-javascript) – 2010-10-12 15:31:24