리자

캡쳐 그룹과 비캡쳐 그룹

( ) : 그룹, 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,636
13년 전 조회 2.1만
13년 전 조회 1,403
13년 전 조회 3,719
13년 전 조회 786
13년 전 조회 2,430
13년 전 조회 946
13년 전 조회 2,851
13년 전 조회 1,041
13년 전 조회 2,920
13년 전 조회 4,810
13년 전 조회 995
13년 전 조회 2,205
13년 전 조회 2,205
13년 전 조회 2,312
13년 전 조회 5,176
13년 전 조회 1,888
13년 전 조회 5,597
13년 전 조회 1,709
13년 전 조회 3,543
13년 전 조회 2,146
13년 전 조회 4,100
13년 전 조회 3,354
13년 전 조회 4,896
13년 전 조회 2,691