简体   繁体   中英

How do I pass function parameters into a regex query?

How would I go about passing function parameters into a regex query? Many thanks.

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

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

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

you are using a literal, try initializing the object with new RegExp("your string");

You need to pass a normal string to the Regex constructor, like this:

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

If you use backslashes in the regex, you'll need to escape them ( \\\\ ) since it's normal string literal.

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM