Javascript String matchAll ()

JavaScript String matchAll () -metoden returnerar en iterator av resultat för att matcha en sträng mot ett reguljärt uttryck.

Syntaxen för matchAll()metoden är:

 str.matchAll(regexp)

Här strär en sträng.

matchAll () -parametrar

Den matchAll()metod tar in:

  • regexp - Ett objekt med reguljärt uttryck (Argumentet omvandlas implicit till RegExpom det är ett icke- RegExpobjekt)

Obs: Om RegExpobjektet inte har /gflaggan TypeErrorkastas en.

Returvärde från matchAll ()

  • Returnerar en iterator som innehåller matchningarna inklusive fånggrupperna.

Obs! Den returnerade iteratorn för varje artikel har följande ytterligare egenskaper:

  • groups - Ett objekt med namngivna fånggrupper med nycklar som namn och värden som de fångade matchningarna.
  • index - Sökindexet där resultatet hittades.
  • input - En kopia av söksträngen.

Exempel 1: Använda 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', index: 14, input: 'Jag lär mig JavaScript inte Java.', Grupper: odefinierad) ('Java', index: 29, input: 'Jag lär mig JavaScript inte Java.', Grupper: undefined)

Här upprepas den returnerade iteratorn med hjälp av for… ofslingan.

Exempel 2: Använd matchAll för att fånga 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

Hittade "namnet är Albert." vid index 3. Fångat namn = Albert Hittade "NAMN är Soyuj." vid index 24. Fångat namn = Soyuj

Här har vi använt ett reguljärt uttryck för att matcha en viss del av strängen. Vi kan fånga vissa grupper i matchen med matchAll()bättre än match().

Rekommenderad läsning: JavaScript-strängmatchning ()

Intressanta artiklar...