Javascript String matchAll ()

De JavaScript String matchAll () - methode retourneert een iterator van resultaten van het matchen van een string met een reguliere expressie.

De syntaxis van de matchAll()methode is:

 str.matchAll(regexp)

Hier stris een string.

matchAll () Parameters

De matchAll()methode omvat:

  • regexp - Een reguliere expressie-object (argument wordt impliciet geconverteerd naar RegExpals het een niet- RegExpobject is)

Opmerking: als het RegExpobject geen /gvlag heeft, TypeErrorwordt er een geworpen.

Retourwaarde van matchAll ()

  • Retourneert een iterator die de overeenkomsten bevat, inclusief de vastleggende groepen.

Opmerking : de geretourneerde iterator van elk item heeft de volgende aanvullende eigenschappen:

  • groups - Een object van benoemde vastleggende groepen met sleutels als de namen en waarden als de vastgelegde overeenkomsten.
  • index - De zoekindex waarin het resultaat is gevonden.
  • input - Een kopie van de zoekterm.

Voorbeeld 1: matchAll () gebruiken

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

Uitvoer

 ('JavaScript', index: 14, invoer: 'Ik leer JavaScript, geen Java.', Groepen: ongedefinieerd) ('Java', index: 29, invoer: 'Ik leer JavaScript niet Java.', Groepen: niet gedefinieerd)

Hier wordt de geretourneerde iterator herhaald met behulp van de for… oflus.

Voorbeeld 2: matchAll gebruiken om groepen vast te leggen

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

Uitvoer

Gevonden "naam is Albert." bij index 3. Gevangen naam = Albert Gevonden "NAAM is Soyuj." bij index 24. Gevangen naam = Soyuj

Hier hebben we een reguliere expressie gebruikt om een ​​bepaald gedeelte van de string te matchen. We kunnen bepaalde groepen in de wedstrijd vastleggen met matchAll()beter dan match().

Aanbevolen literatuur: JavaScript String-overeenkomst ()

Interessante artikelen...