Javascript String matchAll ()

JavaScript String matchAll () -metoden returnerer en iterator av resultatene av å matche en streng mot et vanlig uttrykk.

Syntaksen til matchAll()metoden er:

 str.matchAll(regexp)

Her strer en streng.

matchAll () -parametere

Den matchAll()metoden tar i:

  • regexp - Et objekt med vanlig uttrykk (Argumentet konverteres implisitt til RegExphvis det er et ikke- RegExpobjekt)

Merk: Hvis RegExpobjektet ikke har /gflagget, blir et TypeErrorkast kastet.

Returverdi fra matchAll ()

  • Returnerer en iterator som inneholder kampene inkludert fangegruppene.

Merk : Den returnerte iteratoren for hvert element vil ha følgende tilleggsegenskaper:

  • groups - Et objekt med navngitte fangegrupper som har nøkler som navnene og verdiene som det fanget samsvarer med.
  • index - Indeksen for søk der resultatet ble funnet.
  • input - En kopi av søkestrengen.

Eksempel 1: Bruke 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); )

Produksjon

 ('JavaScript', indeks: 14, input: 'Jeg lærer JavaScript ikke Java.', Grupper: udefinert) ('Java', indeks: 29, input: 'Jeg lærer JavaScript ikke Java.', Grupper: udefinert)

Her blir den returnerte iteratoren iterert over å bruke for… ofløkken.

Eksempel 2: Bruke matchAll til å fange grupper

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

Produksjon

Fant "navnet er Albert." ved indeks 3. Fanget navn = Albert Fant "NAVN er Soyuj." ved indeks 24. Fanget navn = Soyuj

Her har vi brukt et vanlig uttrykk for å matche en viss del av strengen. Vi kan fange visse grupper i kampen ved å bruke matchAll()bedre enn match().

Anbefalt lesing: JavaScript String match ()

Interessante artikler...