Javascript String matchAll ()

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 è un RegExpoggetto)

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

Articoli interessanti...