리자

캡쳐 그룹과 비캡쳐 그룹

( ) : 그룹, backreference 를 생성함.

(?: ) : 비캡쳐그룹, backreference 를 생성하지 않음

예)

<?
$text = "동해물과 백두산이";

preg_match_all("/(동해|백두)/", $text, $matches);
echo "캡쳐 그룹 : ";
var_dump($matches);

echo "비캡쳐 그룹 : ";
preg_match_all("/(?:동해|백두)/", $text, $matches);
var_dump($matches);
?>

결과)

캡쳐 그룹 : array(2) {
[0]=>
array(2) {
[0]=>
string(6) "동해"
[1]=>
string(6) "백두"
}
[1]=>
array(2) {
[0]=>
string(6) "동해"
[1]=>
string(6) "백두"
}
}

비캡쳐 그룹 : array(1) {
[0]=>
array(2) {
[0]=>
string(6) "동해"
[1]=>
string(6) "백두"
}
}
|

댓글 1개

비캡쳐그룹의 경우 결과를 반환하지 않는것을 알수 있습니다.
array[1][1] 이 실제 결과값 입니다.
댓글을 작성하시려면 로그인이 필요합니다.

팁게시판

디자인과 관련된 유용한 정보를 공유하세요. 질문은 상단의 QA에서 해주시기 바랍니다.

+
제목 글쓴이 날짜 조회
13년 전 조회 1,666
13년 전 조회 2.1만
13년 전 조회 1,428
13년 전 조회 3,758
13년 전 조회 817
13년 전 조회 2,457
13년 전 조회 976
13년 전 조회 2,883
13년 전 조회 1,069
13년 전 조회 2,952
13년 전 조회 4,841
13년 전 조회 1,029
13년 전 조회 2,236
13년 전 조회 2,237
13년 전 조회 2,348
13년 전 조회 5,209
13년 전 조회 1,919
13년 전 조회 5,632
13년 전 조회 1,738
13년 전 조회 3,577
13년 전 조회 2,179
13년 전 조회 4,126
13년 전 조회 3,384
13년 전 조회 4,930
13년 전 조회 2,726