Метод
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