Il metodo JavaScript String matchAll () restituisce un iteratore dei risultati della corrispondenza di una stringa con un'espressione regolare.
La sintassi del matchAll()metodo è:
str.matchAll(regexp)
Ecco struna stringa.
parametri matchAll ()
Il matchAll()metodo comprende:
- regexp - Un oggetto espressione regolare (l'argomento viene convertito implicitamente in
RegExpse non è unRegExpoggetto)
Nota: se l' RegExpoggetto non ha il /gflag, TypeErrorverrà lanciato un.
Valore restituito da matchAll ()
- Restituisce un iteratore contenente le corrispondenze, inclusi i gruppi di acquisizione.
Nota : ogni articolo dell'iteratore restituito avrà le seguenti proprietà aggiuntive:
groups- Un oggetto di gruppi di acquisizione con nome che hanno chiavi come nomi e valori come corrispondenze acquisite.index- L'indice di ricerca in cui è stato trovato il risultato.input- Una copia della stringa di ricerca.
Esempio 1: utilizzo di 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); )
Produzione
("JavaScript", indice: 14, input: "Sto imparando JavaScript non Java.", Gruppi: undefined) ("Java", indice: 29, input: "Sto imparando JavaScript non Java.", Gruppi: undefined)
Qui, l'iteratore restituito viene iterato utilizzando il for… ofciclo.
Esempio 2: utilizzo di matchAll per acquisire i gruppi
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'))`) )
Produzione
Trovato "name is Albert". all'indice 3. Nome catturato = Albert Trovato "NAME is Soyuj." all'indice 24. Nome catturato = Soyuj
Qui abbiamo usato un'espressione regolare per trovare una corrispondenza con una certa parte della stringa. Possiamo catturare alcuni gruppi nella partita usando matchAll()meglio di match().
Letture consigliate: JavaScript String Match ()








