Javascript String matchAll ()

Metoda JavaScript String matchAll () returnează un iterator al rezultatelor potrivirii unui șir cu o expresie regulată.

Sintaxa matchAll()metodei este:

 str.matchAll(regexp)

Iată strun șir.

matchAll () Parametri

matchAll()Metoda ia în:

  • regexp - Un obiect de expresie regulată (Argumentul este implicit convertit în RegExpdacă este un non- RegExpobiect)

Notă: Dacă RegExpobiectul nu are /gpavilion, TypeErrorva fi aruncat un.

Returnează valoarea din matchAll ()

  • Returnează un iterator care conține meciurile, inclusiv grupurile de capturare.

Notă : Fiecare articol al iteratorului returnat va avea următoarele proprietăți suplimentare:

  • groups - Un obiect al grupurilor de capturare numite cu chei ca nume și valori ca potriviri capturate.
  • index - Indexul căutării unde a fost găsit rezultatul.
  • input - O copie a șirului de căutare.

Exemplul 1: Utilizarea 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); )

Ieșire

 („JavaScript”, index: 14, intrare: „Învăț JavaScript nu Java.”, Grupuri: nedefinit) („Java”, index: 29, intrare: „Învăț JavaScript nu Java.”, Grupuri: nedefinit)

Aici, iteratorul returnat este iterat folosind for… ofbucla.

Exemplul 2: Utilizarea matchAll pentru a captura grupuri

 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'))`) )

Ieșire

S-a găsit „numele este Albert”. la indexul 3. Numele capturat = Albert S-a găsit „NUME este Soyuj”. la index 24. Nume capturat = Soyuj

Aici, am folosit o expresie regulată pentru a se potrivi cu o anumită porțiune a șirului. Putem captura anumite grupuri în meci folosind matchAll()mai bine decât match().

Lectură recomandată: potrivirea șirului JavaScript ()

Articole interesante...