Các nhóm có tên bên trong biểu thức chính quy PHP
Hãy nhớ lại cách chúng ta sử dụng các nhóm bắt giữ trong chính biểu thức chính quy:
<?php
$res = preg_replace('#([a-z])\1#', '!', $str);
?>
Đôi khi có những tình huống mà việc tham chiếu đến một nhóm theo tên sẽ thuận tiện hơn là theo số thứ tự của nó. Để làm điều này, chúng ta cần đặt tên cho nhóm đó:
<?php
$res = preg_replace('#(?<letter>[a-z])#', '!', $str);
?>
Bây giờ chúng ta có thể tham chiếu đến nhóm này
thông qua cú pháp \k<name>, như sau:
<?php
$res = preg_replace('#(?<letter>[a-z])\k<letter>#', '!', $str);
?>
Các nhóm có tên được mô tả ở trên còn có một vài
cú pháp thay thế khác: (?P=name),
\k'name', \k{name}.
Cho một chuỗi:
<?php
$str = '12:59:59 12:59:12 09:45:09';
?>
Hãy tìm tất cả các chuỗi con chứa thời gian, trong đó giờ trùng với giây.