Genoemde groepen binnen een PHP regex
Laten we ons herinneren hoe we groepen gebruikten in de reguliere expressie zelf:
<?php
$res = preg_replace('#([a-z])\1#', '!', $str);
?>
Soms zijn er situaties waarin het handiger is om naar een groep te verwijzen niet op zijn nummer, maar op naam. Om dit te doen moeten we de groep een naam geven:
<?php
$res = preg_replace('#(?<letter>[a-z])#', '!', $str);
?>
Nu kunnen we naar deze groep verwijzen
via de syntaxis \k<name>, zoals dit:
<?php
$res = preg_replace('#(?<letter>[a-z])\k<letter>#', '!', $str);
?>
De beschreven genoemde groepen hebben nog een paar
alternatieve syntaxen: (?P=name),
\k'name', \k{name}.
Gegeven een string:
<?php
$str = '12:59:59 12:59:12 09:45:09';
?>
Vind alle substrings met tijd, waarin het uur overeenkomt met de seconden.