Metoda JavaScript String matchAll () vrací iterátor výsledků shody řetězce s regulárním výrazem.
Syntaxe matchAll()metody je:
str.matchAll(regexp)
Tady strje řetězec.
Parametry matchAll ()
matchAll()Metoda bere v:
- regexp - objekt regulárního výrazu (Argument je implicitně převeden na,
RegExppokud se nejedná oRegExpobjekt)
Poznámka: Pokud RegExpobjekt nemá /gpříznak, TypeErrorbude hozeno a.
Vrátit hodnotu z matchAll ()
- Vrátí iterátor obsahující shody včetně skupin zachycení.
Poznámka : Každá položka vráceného iterátoru bude mít následující další vlastnosti:
groups- Objekt pojmenovaných zachycujících skupin, které mají klíče jako jména a hodnoty jako zachycené zápasy.index- Index vyhledávání, kde byl nalezen výsledek.input- Kopie vyhledávacího řetězce.
Příklad 1: Použití 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ýstup
('JavaScript', index: 14, input: 'I am learn JavaScript not Java.', Groups: undefined) ('Java', index: 29, input: 'I am learn JavaScript not Java.', Groups: undefined)
Zde je vrácený iterátor iterován pomocí for… ofsmyčky.
Příklad 2: Použití matchAll k zachycení skupin
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ýstup
Nalezeno „jmenuje se Albert“. v indexu 3. Zachycené jméno = Albert Nalezeno „JMÉNO je Soyuj.“ v indexu 24. Zachycené jméno = Sojuj
Zde jsme použili regulární výraz, aby odpovídal určité části řetězce. Můžeme zachytit určité skupiny v zápase pomocí matchAll()lepších než match().
Doporučené čtení: Shoda řetězce JavaScript ()








