Subpadrões nomeados dentro de expressões regulares no PHP

Vamos lembrar como usamos subpadrões na própria expressão regular:

php<?php
  $res = preg_replace('#([a-z])\1#', '!', $str);
?>

Às vezes, há situações em que é mais conveniente consultar um subpadrão não pelo seu número, mas pelo nome. Para isso, precisamos dar um nome ao subpadrão:

php<?php
  $res = preg_replace('#(?<letra>[a-z])#', '!', $str);
?>

Agora podemos consultar este subpadrão através da sintaxe \k<nome>, assim:

php<?php
  $res = preg_replace('#(?<letra>[a-z])\k<letra>#', '!', $str);
?>

Os subpadrões nomeados descritos têm ainda algumas sintaxes alternativas: (?P=nome), \k'nome', \k{nome}.

Задание 1

Dada a string:

php<?php
  $str = '12:59:59 12:59:12 09:45:09';
?>

Encontre todas as substrings com horário, nas quais a hora coincide com os segundos.