리자

캡쳐 그룹과 비캡쳐 그룹

( ) : 그룹, 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,620
13년 전 조회 2.1만
13년 전 조회 1,390
13년 전 조회 3,708
13년 전 조회 774
13년 전 조회 2,414
13년 전 조회 930
13년 전 조회 2,836
13년 전 조회 1,030
13년 전 조회 2,907
13년 전 조회 4,794
13년 전 조회 983
13년 전 조회 2,190
13년 전 조회 2,193
13년 전 조회 2,297
13년 전 조회 5,161
13년 전 조회 1,874
13년 전 조회 5,583
13년 전 조회 1,697
13년 전 조회 3,528
13년 전 조회 2,132
13년 전 조회 4,084
13년 전 조회 3,341
13년 전 조회 4,878
13년 전 조회 2,678