Nosauktie kaptiņi regulārajā izteiksmē PHP
Atcerēsimies, kā mēs izmantojām kaptiņus pašā regulārajā izteiksmē:
<?php
$res = preg_replace('#([a-z])\1#', '!', $str);
?>
Dažreiz rodas situācijas, kad ir ērtāk piekļūt kaptinim ne pēc tā numura, bet pēc vārda. Lai to izdarītu, mums ir jāiedod kaptinim vārds:
<?php
$res = preg_replace('#(?<letter>[a-z])#', '!', $str);
?>
Tagad mēs varam piekļūt šim kaptinim
caur sintaksi \k<name>, šādi:
<?php
$res = preg_replace('#(?<letter>[a-z])\k<letter>#', '!', $str);
?>
Aprakstītajiem nosauktajiem kaptiņiem ir vēl dažas
alternatīvas sintakses: (?P=name),
\k'name', \k{name}.
Dota virkne:
<?php
$str = '12:59:59 12:59:12 09:45:09';
?>
Atrodiet visas apakšvirknes ar laiku, kurās stunda sakrīt ar sekundēm.