Řetězec Javascript matchAll ()

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á o RegExpobjekt)

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

Zajímavé články...