Propiedad lastIndex en expresiones regulares de JavaScript
Una expresión regular tiene la propiedad
lastIndex. Esta contiene la posición
desde la cual comenzará la búsqueda la siguiente
llamada al método exec.
Es decir, con cada nueva llamada al método
esta propiedad cambiará su valor.
Veamos un ejemplo:
let str = '12 34 56';
let reg = /\d+/g;
console.log(reg.lastIndex); // valor inicial 0
let res;
while (res = reg.exec(str)) {
console.log(res); // [12], [34], [56]
console.log(reg.lastIndex); // 2, 5, 8
}
La ventaja de lastIndex es que
no solo se puede leer, sino también
modificar, iniciando la búsqueda desde una
posición dada. Mira el ejemplo:
let str = '12 34 56';
let reg = /\d+/g;
reg.lastIndex = 2;
let res = reg.exec(str)
console.log(res); // [34]
Se da la siguiente cadena:
let str = '12:37 15:48 17:59';
Encuentra en ella todas las subcadenas con la hora, comenzando desde el quinto carácter.