Proprietà lastIndex nelle espressioni regolari JavaScript
Un'espressione regolare ha una proprietà
lastIndex. Contiene la posizione
da cui inizierà la ricerca la prossima
volta che viene chiamato il metodo exec.
Ciò significa che a ogni nuova chiamata del metodo
questa proprietà cambierà il suo valore.
Vediamo un esempio:
let str = '12 34 56';
let reg = /\d+/g;
console.log(reg.lastIndex); // valore iniziale 0
let res;
while (res = reg.exec(str)) {
console.log(res); // [12], [34], [56]
console.log(reg.lastIndex); // 2, 5, 8
}
Il vantaggio di lastIndex è che
può non solo essere letta, ma anche
modificata, per iniziare la ricerca da una
posizione specificata. Guarda l'esempio:
let str = '12 34 56';
let reg = /\d+/g;
reg.lastIndex = 2;
let res = reg.exec(str)
console.log(res); // [34]
Data la seguente stringa:
let str = '12:37 15:48 17:59';
Trova tutte le sottostringhe con l'orario, a partire dal quinto carattere.