Gruppi di acquisizione nel metodo match delle espressioni regolari in JavaScript
Come già sapete, la sottostringa trovata tramite il metodo match
va nell'elemento zero dell'array
risultante. Negli altri elementi di questo
array vanno i cosiddetti gruppi di acquisizione.
I gruppi di acquisizione rappresentano un modo per suddividere ciò che è stato trovato in parti separate. Per utilizzarli è necessario racchiudere una parte dell'espressione regolare tra parentesi tonde. In questo caso, nell'array risultante, oltre alla stringa trovata, apparirà anche ciò che corrisponde all'espressione regolare contenuta in queste parentesi.
Proviamo nella pratica. Supponiamo di avere una stringa come questa con un orario:
let str = '12:34';
Mettiamo le ore e i minuti di questo orario in gruppi di acquisizione separati:
let res = str.match(/(\d+):(\d+)/);
Osserviamo il risultato:
console.log(res[0]); // '12:34' - elemento trovato
console.log(res[1]); // '12' - 1° gruppo di acquisizione
console.log(res[2]); // '34' - 2° gruppo di acquisizione
Data una stringa contenente un dominio:
let str = 'sss domain.ru zzz';
Trovate questo dominio e mettete il suo nome nel primo gruppo di acquisizione, e la zona nel secondo.
Data una stringa contenente una data:
let str = '31.12.2025';
Mettete il giorno nel primo gruppo di acquisizione, il mese - nel secondo, e l'anno - nel terzo.