ubernoob
@ubernoob

Переменные в регулярках JS. Как?

Код не находит последовательность. Ноль и в первом и во втором элементе массива https://jsfiddle.net/skvm8mcq/2/
var G = ['iii', 'photographies'];

letter = 'i';

for(i=0; i < G.length; i++) {
		found = G[i].match(/letter{3,}/i);
		document.write(letter+' в '+G[i]+' = '+found+'<br>');
}

А если поменять шестую строку на found = G[i].match(/i{3,}/i); то всё находит. Но для меня это не вариант, вместо i обязательно должна быть переменная!
  • Вопрос задан
  • 142 просмотра
Решения вопроса 2
var G = ['iii', 'photographies'],
 letter = 'i',
 reg = new RegExp(letter + '{3,}', 'i')

for(i=0; i < G.length; i++) {
  found = G[i].match(reg);
  document.write(letter+' в '+ G[i] + ' = ' + found + '<br>');
}

Документация
Ответ написан
YBogomolov
@YBogomolov
Fullstack JS-разработчик в небольшом стартапе
Попробуйте воспользоваться конструктором RegExp и собирать строку регулярки на основе переменной letter вот так: https://jsfiddle.net/nccm0qp5/
Обратите внимание, что флаги передаются отдельным параметром.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы