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








