регулярные выражения JavaScript с переменным содержанием - PullRequest
2 голосов
/ 05 марта 2011

У меня есть рабочее выражение reg, которое выполняет функцию замены на основе выражения. Работает отлично. Он находит конкретную строку на основе начала строки и выражения. Вот оно:

str.replace(/\bevent[0-9]*\=/, "event");

что он делает, он меняет event=1 на event.

Что если event было переменным словом? Что, если мне нужно будет поискать также conference?

Я пытался:

var type = "conference";

str.replace(/\b/ + type+ /[0-9]*\=/, "conference");

и

str.replace(/\b/type/[0-9]*\=/, "conference");

ни сработало.

как передать строку JavaScript в регулярное выражение?

Ответы [ 3 ]

2 голосов
/ 05 марта 2011

Вместо написания литерала RegEx используйте строку для создания нового объекта RegExp :

str.replace(new RegExp('\b' + var + '[0-9]'), …)
1 голос
/ 05 марта 2011

Вы можете сделать это с помощью объекта RegExp:

str.replace(RegExp('\b' + reStr + '[0-9]*\='),StrToReplaceWith)
0 голосов
/ 05 марта 2011

Создайте новый объект регулярного выражения с вашей переменной.

читать это ...

http://www.w3schools.com/js/js_obj_regexp.asp

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...