ЈаваСцрипт Стринг матцхАлл () метода враћа итератор резултата подударања низа са регуларним изразом.
Синтакса 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()
.
Препоручено читање: Подударање ЈаваСцрипт низа ()