如何将函数参数传递给正则表达式查询?

时间:2010-08-06 10:13:21

标签: javascript regex

如何将函数参数传递给正则表达式查询? 非常感谢。

function match(str, arg1, arg2){
   var result = str.match(/(arg1 | arg2)/m);
   log(result) //null
}

match('claire nick steve', 'nick','steve');

3 个答案:

答案 0 :(得分:1)

http://www.regular-expressions.info/javascript.html

您正在使用文字,尝试使用新的RegExp(“您的字符串”)初始化对象;

答案 1 :(得分:1)

您需要将普通字符串传递给Regex构造函数,如下所示:

var result = str.match(new Regex("(" + arg1 + "|" + arg2 + ")", "m");

如果在正则表达式中使用反斜杠,则需要将它们转义(\\),因为它是正常的字符串文字。

答案 2 :(得分:0)

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');