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
$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
$res = preg_replace('#(?<lettre>[a-z])#', '!', $str);
?>
Maintenant, nous pouvons accéder à cette poche
via la syntaxe \k<nom>, comme ceci :
<?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}.
Soit la chaîne :
<?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.