Javascript String matchAll ()

JavaScript String matchAll () -metoden returnerer en iterator af resultaterne af at matche en streng mod et regulært udtryk.

Metodens syntaks matchAll()er:

 str.matchAll(regexp)

Her strer en streng.

matchAll () Parametre

Den matchAll()metode tager i:

  • regexp - Et objekt med et regulært udtryk (Argumentet konverteres implicit til, RegExphvis det er et ikke- RegExpobjekt)

Bemærk: Hvis RegExpobjekt ikke har /gflag, TypeErrorkastes en.

Returneringsværdi fra matchAll ()

  • Returnerer en iterator, der indeholder kampene inklusive fangstgrupperne.

Bemærk : Den returnerede iterator for hver vare har følgende yderligere egenskaber:

  • groups - Et objekt med navngivne fangstgrupper, der har nøgler som navne og værdier, som de fangede matcher.
  • index - Indekset over søgning, hvor resultatet blev fundet.
  • input - En kopi af søgestrengen.

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

Produktion

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

Her gentages den returnerede iterator ved hjælp af for… ofloop.

Eksempel 2: Brug matchAll til at opfange 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'))`) )

Produktion

Fundet "navn er Albert." ved indeks 3. Indfanget navn = Albert Fundet "NAVN er Soyuj." ved indeks 24. Indfanget navn = Soyuj

Her har vi brugt et regulært udtryk til at matche en bestemt del af strengen. Vi kan fange bestemte grupper i kampen ved hjælp af matchAll()bedre end match().

Anbefalet læsning: JavaScript-streng match ()

Interessante artikler...