Именовани кармани в регулярен израз на PHP
Припомнете си как използвахме кармани в самия регулярен израз:
<?php
$res = preg_replace('#([a-z])\1#', '!', $str);
?>
Понякога има ситуации, когато е по-удобно да се обръщаме към кармана не по неговия номер, а по име. За това трябва да дадем име на кармана:
<?php
$res = preg_replace('#(?<letter>[a-z])#', '!', $str);
?>
Сега можем да се обърнем към този карман
чрез синтаксиса \k<name>, ето така:
<?php
$res = preg_replace('#(?<letter>[a-z])\k<letter>#', '!', $str);
?>
Описанните именувани кармани имат още няколко
алтернативни синтаксиса: (?P=name),
\k'name', \k{name}.
Даден е низ:
<?php
$str = '12:59:59 12:59:12 09:45:09';
?>
Намерете всички поднизове с време, в които часът съвпада със секундите.