Namngivna fickor i reguljära uttryck i PHP

Låt oss komma ihåg hur vi använde fickor i det reguljära uttrycket självt:

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

Ibland finns det situationer där det är bekvämare att referera till en ficka inte med dess nummer, utan med dess namn. För att göra detta måste vi ge fickan ett namn:

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

Nu kan vi komma åt denna ficka genom syntaxen \k<name>, så här:

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

De beskrivna namngivna fickorna har ytterligare några alternativa syntaxer: (?P=name), \k'name', \k{name}.

Задание 1

Given en sträng:

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

Hitta alla delsträngar med tid där timmen matchar sekunderna.