리자

캡쳐 그룹과 비캡쳐 그룹

( ) : 그룹, 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,684
13년 전 조회 2.1만
13년 전 조회 1,456
13년 전 조회 3,773
13년 전 조회 838
13년 전 조회 2,490
13년 전 조회 999
13년 전 조회 2,902
13년 전 조회 1,094
13년 전 조회 2,981
13년 전 조회 4,869
13년 전 조회 1,054
13년 전 조회 2,256
13년 전 조회 2,271
13년 전 조회 2,381
13년 전 조회 5,233
13년 전 조회 1,941
13년 전 조회 5,658
13년 전 조회 1,767
13년 전 조회 3,604
13년 전 조회 2,202
13년 전 조회 4,150
13년 전 조회 3,408
13년 전 조회 4,956
13년 전 조회 2,750