Navngivne lommer i PHP regulære udtryk
Lad os huske, hvordan vi brugte lommer i selve det regulære udtryk:
<?php
$res = preg_replace('#([a-z])\1#', '!', $str);
?>
Sommetider er der situationer, hvor det er mere bekvemt at henvise til en lomme ikke ved dens nummer, men ved dens navn. For at gøre dette skal vi give lommen et navn:
<?php
$res = preg_replace('#(?<letter>[a-z])#', '!', $str);
?>
Nu kan vi henvise til denne lomme
gennem syntaksen \k<name>, sådan her:
<?php
$res = preg_replace('#(?<letter>[a-z])\k<letter>#', '!', $str);
?>
De beskrevne navngivne lommer har yderligere et par
alternative syntakser: (?P=name),
\k'name', \k{name}.
Givet en streng:
<?php
$str = '12:59:59 12:59:12 09:45:09';
?>
Find alle understrenge med tid, hvor timen matcher sekunderne.