可能重複:
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