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';
?>
시간(시)이 초와 일치하는 모든 시간 부분 문자열을 찾으세요.