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

#javascript #regex

#javascript #регулярное выражение

Вопрос:

У меня есть строка:

 var _codes = "1234,1414,5555,3333,2222,5566,4545";
var regex = new RegExp(/1234/i);
var _found = _codes.search(regex);

//this works sofar. 
  

теперь я хочу сделать это с помощью переменной:

вот так:

 var id = "1234";
regex = new RegExp("\" id "\/i");
  

но это не работает. есть идеи?

Спасибо!

Ответ №1:

При использовании RegExp конструктора вы не указываете разделители, а флаги идут во втором аргументе.

 var id = "1234";
regex = new RegExp(id, "i");
  

Однако регулярное выражение только для 1234 with i на самом деле не имеет смысла. Используйте indexOf() вместо этого.

Однако, возможно, вы действительно имели в виду сопоставление чисел, окруженных . В таком случае оставьте их там.

Комментарии:

1. И i флаг (без учета регистра) не имеет особого смысла, когда выражение состоит только из цифр.

2. @RobG Да, я упоминал об этом выше 🙂