Il metodo matchAll

Il metodo matchAll restituisce tutte le corrispondenze con un'espressione regolare sotto forma di oggetto iterabile, ogni elemento del quale contiene un array con la corrispondenza trovata e i suoi gruppi di cattura. Il metodo può essere chiamato solo con il modificatore g. Se non ci sono corrispondenze, restituisce null.

Sintassi

javascriptstringa.matchAll(espressione regolare);

Esempio

Otteniamo tutte le corrispondenze e le iteriamo con un ciclo:

javascriptlet str = '12 34 56';
let matches = str.matchAll(/(\d)(\d)/g);

for (let match of matches) {
  console.log(match);
}

Risultato dell'esecuzione del codice:

javascript[12, 1, 2]
[34, 3, 4]
[56, 5, 6] 

Esempio

Convertiamo l'oggetto iterabile in un array normale:

javascriptlet str = '12 34 56';
let matches = str.matchAll(/(\d)(\d)/g);
let res = Array.from(matches);

console.log(res);

Risultato dell'esecuzione del codice:

javascript[
  [12, 1, 2],
  [34, 3, 4],
  [56, 5, 6]
]

Vedi anche

  • metodo test,
    che verifica una stringa
  • metodo match,
    che cerca corrispondenze in una stringa
  • metodo exec,
    che esegue una ricerca sequenziale
  • metodo replace,
    che esegue ricerca e sostituzione
  • metodo search,
    che esegue una ricerca
  • metodo split,
    che divide una stringa