정오표
『손에 잡히는 정규 표현식』의 정오표입니다.
원서인 『Regular Expressions in 10 Minutes』의 정오표는 여기입니다.
오탈자는 http://blog.insightbook.co.kr/notice/10 에서 신고해주세요.
2쇄
38쪽 예문의 분석 부분 (신재동 님)
앞서 사용한 패턴에서는 [0-9A_Fa-f]를 여섯 번 반복했었다. 여기서는 [0-9A_Fa-f] 대신 [[:xdigit:]]를 사용했는데, 결과는 똑같다.
앞서 사용한 패턴에서는 [0-9A-Fa-f]를 여섯 번 반복했었다. 여기서는 [0-9A-Fa-f] 대신 [[:xdigit:]]를 사용했는데, 결과는 똑같다.
49쪽: 정확한 구간 찾기의 '분석' 부분(정무진 님)
이 포직스 클래스를 여섯 번 반복함을 뜻한다.
49쪽 외: 최댓값, 최솟값에 대한 문의가 많아 정오표에 따로 명기합니다.
최대값, 최소값이 혼용해 쓰이나 최댓값, 최솟값이 옳은 표현임을 알립니다.
참고링크: 인사이트 블로그 오탈자 글, 국립국어원
78쪽 본문 6번째 줄 각주1 보충 설명
정규 표현식에 전달된 플래그(flag)에 따라 다르게 동작할 수도 있다.
현재 flag 매개변수로 들어가는 상수는 PREG_OFFSET_CAPTURE 하나밖에 없는데, 이 상수를 넘겨 주면, 일치한 문장뿐만 아니라 위치도 함께 반환한다. 위치 정보를포함하기 때문에 배열 자체가 2차원 배열이 되는데, 다음 예제를 보면 이해하기 쉽다.
코드
$subject = "abcdef";
$pattern = '/abc([\w]*)/';
preg_match($pattern, $subject, $matches);
print_r($matches);
결과
Array
(
[0] => abcdef <- 전체 패턴
[1] => def <- 첫 번째 일치한 하위표현식
)
코드$subject = "abcdef";
$pattern = '/abc([\w]*)/';
preg_match($pattern, $subject, $matches, PREG_OFFSET_CAPTURE);
print_r($matches);
결과Array
(
[0] => Array <- 전체 패턴
(
[0] => abcdef <- 일치한 내용
[1] => 0 <- 전체 패턴의 위치
)
[1] => Array <- 첫 번째 일치한 하위표현식
(
[0] => def <- 일치한 내용
[1] => 3 <- 일치한 내용의 위치
)
)
여기까지 1쇄 오탈자_2쇄에 모두 반영됨.
v쪽 목차에서 4.4절
4.4 포직스 문자 클래스 사용하기
59쪽 아래서 7번째 줄(윤성준 님)
<?xml version="1.0?>
102쪽 예문 세 번째, 네 번째 줄(김호성 님)
33333-
44444-444
43쪽 note 첫 번째 줄(유형근 님)
잘 살펴보면, [\w.]+가 아니라 \w+를 사용했다
History
Last edited on 08/12/2011 17:43 by 인사이트