Метод JavaScript String matchAll () повертає ітератор результатів зіставлення рядка з регулярним виразом.
Синтаксис matchAll()методу:
str.matchAll(regexp)
Ось strрядок.
Параметри matchAll ()
matchAll()Метод приймає в:
- regexp - об'єкт регулярного виразу (аргумент неявно перетворюється,
RegExpякщо він не єRegExpоб'єктом)
Примітка: Якщо RegExpоб'єкт не має /gпрапорця, TypeErrorбуде викинуто а.
Повернене значення з matchAll ()
- Повертає ітератор, що містить збіги, включаючи групи захоплення.
Примітка : Кожен повернутий елемент ітератора матиме такі додаткові властивості:
groups- Об'єкт іменованих груп захоплення, що мають імена та ключі як схоплені збіги.index- Індекс пошуку, де був знайдений результат.input- Копія пошукового рядка.
Приклад 1: Використання matchAll ()
const string = "I am learning JavaScript not Java."; const re = /Java(a-z)*/gi; let result = string.matchAll(re); for (match of result) ( console.log(match); )
Вихідні дані
('JavaScript', індекс: 14, введення: 'Я вчу JavaScript, а не Java.', Групи: undefined) ('Java', індекс: 29, введення: 'Я вивчаю JavaScript не Java.', Групи: undefined)
Тут повернутий ітератор перебирається за допомогою for… ofциклу.
Приклад 2: Використання matchAll для захоплення груп
const string = "My name is Albert. YOUR NAME is Soyuj."; // expression matches case-insensitive "name is"+ any alphabets till period (.) // using named capturing groups const re = /namesiss(?(a-zA-Z)+)./gi; let found = string.matchAll(re); for (const match of found)( console.log(`Found "$(match(0))" at index $(match.index). Captured name = $(match.groups('name'))`) )
Вихідні дані
Знайдено "ім'я Альберт". за індексом 3. Захоплене ім'я = Альберт Знайдено "ІМЯ - Союдж". за індексом 24. Захоплене ім'я = Soyuj
Тут ми використали регулярний вираз, який відповідає певній частині рядка. Ми можемо захопити певні групи в матчі, використовуючи matchAll()кращі результати match().
Рекомендуємо прочитати: Відповідність рядка JavaScript ()








