Свойство lastIndex в регулярках JavaScript

У регулярного выражения есть свойство lastIndex. Оно содержит позицию, с которой будет начинать поиск следующий вызов метода exec. To есть при каждом новом вызове метода это свойство будет менять свое значение. Давайте посмотрим на примере:

javascriptlet str = '12 34 56';
let reg = /\d+/g;
console.log(reg.lastIndex); // начальное значение 0

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

Преимуществом lastIndex является то, что его можно не только читать, но и изменять, начиная поиск с заданной позиции. Смотрите пример:

javascriptlet str = '12 34 56';

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

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

Дана следующая строка:

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

Найдите в ней все подстроки с временем, начиная с пятого символа.