Properti lastIndex dalam RegExp JavaScript
Ekspresi reguler memiliki properti
lastIndex. Properti ini berisi posisi
di mana pencarian akan dimulai pada pemanggilan
metode exec berikutnya.
Artinya, pada setiap pemanggilan metode baru
properti ini akan mengubah nilainya.
Mari kita lihat contohnya:
let str = '12 34 56';
let reg = /\d+/g;
console.log(reg.lastIndex); // nilai awal 0
let res;
while (res = reg.exec(str)) {
console.log(res); // [12], [34], [56]
console.log(reg.lastIndex); // 2, 5, 8
}
Keuntungan dari lastIndex adalah
bahwa properti ini tidak hanya dapat dibaca, tetapi juga
diubah, memulai pencarian dari
posisi yang ditentukan. Lihat contoh:
let str = '12 34 56';
let reg = /\d+/g;
reg.lastIndex = 2;
let res = reg.exec(str)
console.log(res); // [34]
Diberikan string berikut:
let str = '12:37 15:48 17:59';
Temukan semua substring dengan waktu di dalamnya, dimulai dari karakter kelima.