리자

캡쳐 그룹과 비캡쳐 그룹

( ) : 그룹, 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년 전 조회 783
13년 전 조회 2,428
13년 전 조회 945
13년 전 조회 2,849
13년 전 조회 1,040
13년 전 조회 2,919
13년 전 조회 4,810
13년 전 조회 994
13년 전 조회 2,204
13년 전 조회 2,205
13년 전 조회 2,311
13년 전 조회 5,175
13년 전 조회 1,888
13년 전 조회 5,596
13년 전 조회 1,709
13년 전 조회 3,543
13년 전 조회 2,146
13년 전 조회 4,100
13년 전 조회 3,353
13년 전 조회 4,894
13년 전 조회 2,691