Namngivna fickor i reguljära uttryck i PHP
Låt oss komma ihåg hur vi använde fickor i det reguljära uttrycket självt:
<?php
$res = preg_replace('#([a-z])\1#', '!', $str);
?>
Ibland finns det situationer där det är bekvämare att referera till en ficka inte med dess nummer, utan med dess namn. För att göra detta måste vi ge fickan ett namn:
<?php
$res = preg_replace('#(?<letter>[a-z])#', '!', $str);
?>
Nu kan vi komma åt denna ficka
genom syntaxen \k<name>, så här:
<?php
$res = preg_replace('#(?<letter>[a-z])\k<letter>#', '!', $str);
?>
De beskrivna namngivna fickorna har ytterligare några
alternativa syntaxer: (?P=name),
\k'name', \k{name}.
Given en sträng:
<?php
$str = '12:59:59 12:59:12 09:45:09';
?>
Hitta alla delsträngar med tid där timmen matchar sekunderna.