A propriedade lastIndex em expressões regulares do JavaScript

Uma expressão regular tem a propriedade lastIndex. Ela contém a posição de onde a próxima chamada do método exec começará a busca. Ou seja, a cada nova chamada do método esta propriedade mudará seu valor. Vamos ver um exemplo:

javascriptlet 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
}

A vantagem do lastIndex é que ele pode não apenas ser lido, mas também modificado, iniciando a busca a partir de uma posição especificada. Veja o exemplo:

javascriptlet str = '12 34 56';

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

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

Dada a seguinte string:

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

Encontre nela todas as substrings com horário, começando do quinto caractere.