如何将函数参数传递给正则表达式查询?
我将如何去函数参数传递到正则表达式查询? 非常感谢。如何将函数参数传递给正则表达式查询?
function match(str, arg1, arg2){
var result = str.match(/(arg1 | arg2)/m);
log(result) //null
}
match('claire nick steve', 'nick','steve');
你需要一个正常的字符串传递给Regex
构造,像这样:
var result = str.match(new Regex("(" + arg1 + "|" + arg2 + ")", "m");
如果您在正则表达式中使用了反斜杠,你需要转义(\\
),因为这是正常的字符串字面量。
=谢谢你的回应。 – screenm0nkey 2010-08-06 10:31:40
http://www.regular-expressions.info/javascript.html
您使用的是文字,尝试初始化新的RegExp( “您的字符串”)的对象;
感谢您的回复。 – screenm0nkey 2010-08-06 10:35:32
function match(str, arg1, arg2){
var re=new RegExp("(" + arg1 + "|" + arg2 +")","m");
var result = str.match(re);
log(result) //null
}
match('claire nick steve', 'nick','steve');
感谢您的回复。 – screenm0nkey 2010-08-06 10:32:03
这是传统的upvote答案。 – SLaks 2010-08-06 10:37:05