Јавасцрипт Стринг матцхАлл ()

ЈаваСцрипт Стринг матцхАлл () метода враћа итератор резултата подударања низа са регуларним изразом.

Синтакса matchAll()методе је:

 str.matchAll(regexp)

Овде strје низ.

матцхАлл () Параметри

matchAll()Метод узима у:

  • регекп - Објекат регуларног израза (аргумент се имплицитно претвара RegExpако није RegExpобјект)

Напомена: Ако RegExpобјекат нема /gзаставицу, TypeErrorбациће се а.

Врати вредност из матцхАлл ()

  • Враћа итератор који садржи подударања, укључујући групе за хватање.

Напомена : Сваки враћени итератор имаће следећа додатна својства:

  • groups - Објекат именованих група за хватање које имају кључеве као имена и вредности као ухваћене подударности.
  • index - индекс претраге где је пронађен резултат.
  • input - Копија низа за претрагу.

Пример 1: Коришћење матцхАлл ()

 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); )

Оутпут

 ('ЈаваСцрипт', индекс: 14, улаз: 'Ја учим ЈаваСцрипт не Јава.', Групе: недефинисано) ('Јава', индекс: 29, улаз: 'Учим ЈаваСцрипт не Јава.', Групе: недефинисано)

Овде се враћени итератор понавља преко for… ofпетље.

Пример 2: Коришћење матцхАлл за хватање група

 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. Ухваћено име = Соиуј

Овде смо користили регуларни израз који одговара одређеном делу низа. Можемо да снимимо одређене групе на мечу користећи matchAll()боље од match().

Препоручено читање: Подударање ЈаваСцрипт низа ()

Занимљиви Чланци...