Poches nommées dans les expressions régulières PHP

Rappelons comment nous utilisions les poches dans l'expression régulière elle-même :

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

Il y a parfois des situations où il est plus pratique de se référer à une poche non pas par son numéro, mais par son nom. Pour cela, nous devons donner un nom à la poche :

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

Maintenant, nous pouvons accéder à cette poche via la syntaxe \k<nom>, comme ceci :

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

Les poches nommées décrites ont également plusieurs syntaxes alternatives : (?P=nom), \k'nom', \k{nom}.

Задание 1

Soit la chaîne :

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

Trouvez toutes les sous-chaînes contenant l'heure, dans lesquelles les heures correspondent aux secondes.