Подтвердить что ты не робот

Как передать переменную в регулярное выражение в jQuery/Javascript

Есть ли способ передать переменную в регулярное выражение в jQuery/Javascript?

Я хочу сделать что-то вроде:

var variable_regex = "bar";
var some_string = "foobar";

some_string.match(/variable_regex/);

В Ruby вы сможете:

some_string.match(/#{variable_regex}/)

Найден полезный пост:

Как я могу конкретизировать литералы регулярных выражений в JavaScript?

4b9b3361

Ответ 1

Это легко:

var variable_regex = "bar";
var some_string = "foobar";

some_string.match(variable_regex);

Просто потеряйте //. Если вы хотите использовать сложные регулярные выражения, вы можете использовать конкатенацию строк:

var variable_regex = "b.";
var some_string = "foobar";

alert (some_string.match("f.*"+variable_regex));

Ответ 2

Javascript не поддерживает интерполяцию, такую ​​как Ruby - вы должны использовать конструктор RegExp:

var aString = "foobar";
var pattern = "bar";

var matches = aString.match(new RegExp(pattern));