JavaScript Düzenli İfadelerde lastIndex Özelliği
Düzenli bir ifadenin
lastIndex özelliği vardır. Bu özellik, bir sonraki
exec yöntemi çağrısının aramaya başlayacağı
konumu içerir.
Yani, yöntemin her yeni çağrısında
bu özellik değerini değiştirecektir.
Bir örnek üzerinde inceleyelim:
let str = '12 34 56';
let reg = /\d+/g;
console.log(reg.lastIndex); // başlangıç değeri 0
let res;
while (res = reg.exec(str)) {
console.log(res); // [12], [34], [56]
console.log(reg.lastIndex); // 2, 5, 8
}
lastIndex özelliğinin avantajı,
sadece okunabilir olması değil, aynı zamanda
değiştirilebilir olmasıdır, böylece aramayı belirli bir
konumdan başlatabilirsiniz. Örneğe bakın:
let str = '12 34 56';
let reg = /\d+/g;
reg.lastIndex = 2;
let res = reg.exec(str)
console.log(res); // [34]
Aşağıdaki string verilmiştir:
let str = '12:37 15:48 17:59';
Beşinci karakterden başlayarak içindeki tüm zaman alt stringlerini bulun.