Kantong Bernama di Dalam Regex PHP
Mari kita ingat kembali bagaimana kita menggunakan kantong di dalam ekspresi reguler itu sendiri:
<?php
$res = preg_replace('#([a-z])\1#', '!', $str);
?>
Terkadang ada situasi di mana lebih mudah untuk mengacu kepada kantong bukan dengan nomornya, tetapi dengan namanya. Untuk itu kita perlu memberi nama pada kantong:
<?php
$res = preg_replace('#(?<letter>[a-z])#', '!', $str);
?>
Sekarang kita dapat mengakses kantong ini
melalui sintaks \k<name>, seperti ini:
<?php
$res = preg_replace('#(?<letter>[a-z])\k<letter>#', '!', $str);
?>
Kantong bernama yang dijelaskan memiliki beberapa
sintaks alternatif lagi: (?P=name),
\k'name', \k{name}.
Diberikan string:
<?php
$str = '12:59:59 12:59:12 09:45:09';
?>
Temukan semua substring dengan waktu, di mana jam sama dengan detik.