Bolsillos con nombre dentro de la expresión regular de PHP
Recordemos cómo usábamos los bolsillos en la propia expresión regular:
<?php
$res = preg_replace('#([a-z])\1#', '!', $str);
?>
A veces hay situaciones en las que es más conveniente acceder a un bolsillo no por su número, sino por su nombre. Para esto necesitamos darle un nombre al bolsillo:
<?php
$res = preg_replace('#(?<letra>[a-z])#', '!', $str);
?>
Ahora podemos acceder a este bolsillo
a través de la sintaxis \k<nombre>, así:
<?php
$res = preg_replace('#(?<letra>[a-z])\k<letra>#', '!', $str);
?>
Los bolsillos con nombre descritos tienen además varias
sintaxis alternativas: (?P=nombre),
\k'nombre', \k{nombre}.
Se da una cadena:
<?php
$str = '12:59:59 12:59:12 09:45:09';
?>
Encuentra todas las subcadenas con la hora, en las que la hora coincide con los segundos.