Il metodo exec
Il metodo exec esegue una ricerca in una
stringa secondo una espressione regolare specificata. Il risultato restituito è la
sottostringa trovata e i suoi gruppi (catture). Inoltre, ogni
chiamata successiva di questo metodo
inizierà la ricerca dal punto
in cui è terminata la precedente
sottostringa trovata. Se non viene trovata una corrispondenza
viene restituito null.
Sintassi
espressione_regolare.test(stringa);
Esempio
Verifichiamo il funzionamento del metodo:
let str = '12 34 56';
let reg = /\d+/g;
let res1 = reg.exec(str);
console.log(res1);
let res2 = reg.exec(str);
console.log(res2);
let res3 = reg.exec(str);
console.log(res3);
let res4 = reg.exec(str);
console.log(res4);
Risultato dell'esecuzione del codice:
[12]
[34]
[56]
null
Esempio
Utilizziamo il metodo in un ciclo:
let str = '12 34 56';
let reg = /\d+/g;
let res;
while (res = reg.exec(str)) {
console.log(res);
}
Risultato dell'esecuzione del codice:
[12]
[34]
[56]
Esempio
Le corrispondenze trovate possono essere scomposte nei gruppi (catture):
let str = '12 34 56';
let reg = /(\d)(\d)/g;
let res;
while (res = reg.exec(str)) {
console.log(res);
}
Risultato dell'esecuzione del codice:
[12, 1, 2]
[34, 3, 4]
[56, 5, 6]
Esempio
Tramite la proprietà lastIndex
è possibile impostare la posizione da cui
iniziare la ricerca:
let str = '12 34 56';
let reg = /\d+/g;
reg.lastIndex = 2;
let res1 = reg.exec(str)
console.log(res1);
let res2 = reg.exec(str)
console.log(res2);
Risultato dell'esecuzione del codice:
[34]
[56]
Esempio
Tramite il modificatore y
è possibile fissare la posizione
d'inizio della ricerca:
let str = '12 34 56';
let reg = /\d+/y;
reg.lastIndex = 2;
let res1 = reg.exec(str)
console.log(res1);
let res2 = reg.exec(str)
console.log(res2);
Risultato dell'esecuzione del codice:
null
[12]
Vedi anche
-
il metodo
test,
che verifica una stringa -
il metodo
match,
che cerca corrispondenze in una stringa -
il metodo
matchAll,
che cerca tutte le corrispondenze in una stringa -
il metodo
replace,
che esegue ricerca e sostituzione -
il metodo
search,
che esegue una ricerca -
il metodo
split,
che divide una stringa