Допустим, есть строка testestest
. Если применить к ней регулярное выражение /(test)/g
, то результат будет таков: testestest. Как сделать так, чтобы регулярное выражение захватывало и тот промежуточный testestest? Как это правильно называется?
Воспользуйтесь regexp.exec(str)
Если флаг g
есть, то вызов regexp.exec
возвращает первое совпадение и запоминает его позицию в свойстве regexp.lastIndex
. Последующий поиск он начнёт уже с этой позиции. Если совпадений не найдено, то сбрасывает regexp.lastIndex
в ноль.
let s = "testestest";
let r = /test/g;
let m;
while (m = r.exec(s)) {
console.log("Match: " + m[0] + ", pos: " + m.index);
r.lastIndex = m.index+1;
}
learn.javascript.ru: Методы RegExp и String
var res = []
"testestest".replace(/(?=(test))/g, (m, g) => res.push(g))
console.log(res)
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Виртуальный выделенный сервер (VDS) становится отличным выбором
Мое задание в университете требует, чтобы мы нашли сколько дней прошло от текущей даты до заданного пользователем дня рожденияПреподаватель...
Можно-ли с помощью JS,искусственно вызвать в поле вот такое окно:
Рендерю все страницы для юзеров на сервере, так вот мне нужно минифицировать все html, css, и jsНо есть проблема, некоторые html содержат в себе так-же...