#regex
Вопрос:
Предположим, что следующая последовательность: 0000000
Я хочу найти все 0000 в приведенной выше последовательности, если я использую только /0000/
регулярное выражение, оно соответствует только первому, однако в приведенной выше последовательности есть 4 вхождения 0000
Как я могу найти их все по регулярному выражению?
Тай!
Ответ №1:
Вы можете использовать утверждение нулевой ширины, такое как положительный внешний вид, и записывать результаты в группу, чтобы результат не был использован после совпадения:
/(?=(0000))/g
Смотрите тестовый пример
Пример использования JavaScript:
const text = '0000000';
const regex = /(?=(0000))/g;
const result = [...text.matchAll(regex)].map(e => e[1]);
console.log(result);