Вставить строку в существующий RegExp в Javascript? Возможный дубликат: передать переменную в regexp в javascript У меня есть переменная: resource = "user"; Я хочу вставить эту переменную в предопределенный RegExp (заменяя переменную ниже): /^\/variable\/\d+$/ Как я могу это сделать? Ответ 1 Используйте конструктор RegExp: var re = new RegExp("^\\/" + resource + "\\/\\d+$"); Обратите внимание, что вам нужно избегать разделителей / дважды, один раз для регулярного выражения и один раз для объявления строки. Вы также можете использовать некоторую функцию escape для цитирования строк, которые будут использоваться в регулярных выражениях: function quote(str) { return str.replace(/(?=[\/\\^$*+?.()|{}[\]])/g, "\\"); } Это приводит нас к следующему: var re = new RegExp("^\\/" + quote(resource) + "\\/\\d+$"); Ответ 2 Вы должны это сделать. var resource = "user"; var regex = new RegExp("^\/"+resource+"\/\d+$", "g"); Затем вы можете передать объект RegExp таким функциям, как myString.replace(), или вызвать метод exec() самого объекта RegExp. Ответ 3 Вы можете использовать метод new RegExp: var resource = "user"; new RegExp("^\/"+resource+"\/\d+$");
Ответ 1 Используйте конструктор RegExp: var re = new RegExp("^\\/" + resource + "\\/\\d+$"); Обратите внимание, что вам нужно избегать разделителей / дважды, один раз для регулярного выражения и один раз для объявления строки. Вы также можете использовать некоторую функцию escape для цитирования строк, которые будут использоваться в регулярных выражениях: function quote(str) { return str.replace(/(?=[\/\\^$*+?.()|{}[\]])/g, "\\"); } Это приводит нас к следующему: var re = new RegExp("^\\/" + quote(resource) + "\\/\\d+$");
Ответ 2 Вы должны это сделать. var resource = "user"; var regex = new RegExp("^\/"+resource+"\/\d+$", "g"); Затем вы можете передать объект RegExp таким функциям, как myString.replace(), или вызвать метод exec() самого объекта RegExp.
Ответ 3 Вы можете использовать метод new RegExp: var resource = "user"; new RegExp("^\/"+resource+"\/\d+$");