Navngitte grupper inni regulære uttrykk i PHP
La oss huske hvordan vi brukte grupper i selve det regulære uttrykket:
<?php
$res = preg_replace('#([a-z])\1#', '!', $str);
?>
Noen ganger er det situasjoner hvor det er mer praktisk å referere til en gruppe ikke ved dens nummer, men ved navn. For å gjøre dette må vi gi gruppen et navn:
<?php
$res = preg_replace('#(?<letter>[a-z])#', '!', $str);
?>
Nå kan vi referere til denne gruppen
via syntaksen \k<name>, slik:
<?php
$res = preg_replace('#(?<letter>[a-z])\k<letter>#', '!', $str);
?>
De beskrevne navngitte gruppene har noen flere
alternative syntakser: (?P=name),
\k'name', \k{name}.
Gitt en streng:
<?php
$str = '12:59:59 12:59:12 09:45:09';
?>
Finn alle delstrenger med tid, der timen samsvarer med sekundene.