Глобальный matchAll в регулярках JavaScript
Метод matchAll возвращает все совпадения
в виде итерируемого объекта,
каждый элемент которого
содержит массив из найденного и его карманов.
Метод может вызываться только с модификатором g.
Давайте посмотрим на примере. Пусть у нас есть следующая строка:
let str = '12 34 56';
Давайте найдем все пары чисел и разобьем их цифры по карманам:
let matches = str.matchAll(/(\d)(\d)/g);
Переберем полученный итерируемый объект циклом и выведем найденные совпадения:
for (let match of matches) {
console.log(match); // [12, 1, 2], [34, 3, 4], [56, 5, 6]
}
Дана следующая строка:
let str = '12:37 15:48 17:59';
Найдите в ней все подстроки с временем и для каждого найденного разложите часы и минуты по карманам.
Дана строка:
let str = 'site.ru sss site.com zzz site.net';
Получите массив доменных имен из этой строки, положив в этом массиве имя домена и его зону в разные карманы.