Метод matchAll() повертає ітератор результатів після зіставлення рядка з регулярним виразом. Прапор g призначено для глобального пошуку. Він вказує, що ми перевіряємо регулярний вираз на відповідність всім збігам в рядку.
const sentence = "JavaScript1JavaScript2";
// Шаблон наявності 'JavaScript', після нього іде цифра
const regex = /JavaScript\d/g;
// Пошук збігів у рядку для заданого регулярного виразу
let results = sentence.matchAll(regex);
// Цикл через ітератор
for (result of results) {
console.log(result);
}
// ["JavaScript1", index: 0, input: "JavaScript1JavaScript2", groups: undefined]
// ["JavaScript2", index: 11, input: "JavaScript1JavaScript2", groups: undefined]
Якщо об'єкт regex не має прапора g, буде видано виняток TypeError. Кожен елемент ітератора, що повертається, матиме додаткові властивості: input — копія рядка, index — де було знайдено рядок, groups — об'єкт іменованих груп захоплення.
#matchAll // #practice //
JS