Как передать параметры функции в запрос регулярного выражения? - PullRequest
0 голосов
/ 06 августа 2010

Как мне передать параметры функции в запрос регулярного выражения? Большое спасибо.

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

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

Ответы [ 3 ]

1 голос
/ 06 августа 2010

Вам нужно передать нормальную строку в конструктор Regex, например:

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

Если вы используете обратную косую черту в регулярном выражении, вам нужно экранировать их (\\), поскольку это обычный строковый литерал.

1 голос
/ 06 августа 2010

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

вы используете литерал, попробуйте инициализировать объект с новым RegExp ("ваша строка");

0 голосов
/ 06 августа 2010
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');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...