Javascript String matchAll ()

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

Цікаві статті...