Egenskapen lastIndex i JavaScript reguljära uttryck

Ett reguljärt uttryck har en egenskap lastIndex. Den innehåller positionen där nästa anrop av metoden exec kommer att börja söka. Det betyder att vid varje nytt anrop av metoden kommer denna egenskap att ändra sitt värde. Låt oss titta på ett exempel:

javascriptlet str = '12 34 56';
let reg = /\d+/g;
console.log(reg.lastIndex); // initialt värde 0

let res;
while (res = reg.exec(str)) {
  console.log(res); // [12], [34], [56]
  console.log(reg.lastIndex); // 2, 5, 8
}

Fördelen med lastIndex är att den inte bara kan läsas, utan också ändras, för att börja sökningen från en given position. Se exemplet:

javascriptlet str = '12 34 56';

let reg = /\d+/g;
reg.lastIndex = 2;

let res = reg.exec(str)
console.log(res); // [34]
Задание 1

Följande sträng är given:

javascriptlet str = '12:37 15:48 17:59';

Hitta alla delsträngar med tid, med början från det femte tecknet.