Metóda JavaScript String matchAll () vracia iterátor výsledkov zhody reťazca s regulárnym výrazom.
Syntax matchAll()metódy je:
str.matchAll(regexp)
Tu strje reťazec.
Parametre matchAll ()
matchAll()Metóda berie v:
- regexp - objekt s regulárnym výrazom (Argument sa implicitne prevedie na objekt, ktorý
RegExpnie jeRegExpobjektom)
Poznámka: Ak RegExpobjekt nemá /gvlajku, TypeErrorbude vyhodené a.
Vrátiť hodnotu z matchAll ()
- Vráti iterátor obsahujúci zhody vrátane skupín zachytávania.
Poznámka : Každá položka vráteného iterátora bude mať nasledujúce ďalšie vlastnosti:
groups- Objekt pomenovaných skupín zachytávajúcich súbory, ktorých názvy sú kľúčmi a hodnoty ako zachytené zápasy.index- Index vyhľadávania, kde sa našiel výsledok.input- Kópia vyhľadávacieho reťazca.
Príklad 1: Použitie 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); )
Výkon
('JavaScript', index: 14, vstup: 'Učím sa JavaScript, nie Java.', Skupiny: nedefinované) ('Java', index: 29, vstup: 'Učím sa JavaScript, nie Java.', Skupiny: nedefinované)
Tu je vrátený iterátor iterovaný pomocou for… ofslučky.
Príklad 2: Použitie matchAll na zachytenie skupín
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'))`) )
Výkon
Nájdené „meno je Albert“. v indexe 3. Zachytené meno = Albert Nájdené „NÁZOV je Sojuj.“ v indexe 24. Zachytené meno = Sojuj
Tu sme použili regulárny výraz, ktorý sa zhoduje s určitou časťou reťazca. Určité skupiny v zápase dokážeme zachytiť pomocou matchAll()lepších ako match().
Odporúčané čítanie: Zhoda reťazca JavaScript ()








