다양한 언어로 배우는 정규표현식

신야 료마 and 2 others
424p
Where to buy
Rate
문자열 패턴을 간단한 식으로 기술할 수 있는 정규표현식은 문자열 처리를 포함해서 다양한 방면에서 활용되는 편리한 도구다. 그래서 이 책은 초보자도 정규표현식을 마스터할 수 있도록 ‘정규표현식이란 무엇인가?’부터 시작해서 정규표현식의 역사/구조/이론은 물론 정규표현식 처리를 위한 VM 설계 방침이나 JIT를 이용한 최적화 방법 등 정규표현식의 모든 것을 다루고 있다. 정규표현식을 일상 업무에서 사용하는 프로그래머나 정규표현식을 깊이 있게 배우고자 하는 열혈 학습자, 그리고 언어 처리 관련 개발에 관심 있는 독자들은 이 한 권의 책을 통해 정규표현식의 모든 것을 배울 수 있을 것이다. 또한, 이론에 관심 있는 독자들을 위해서 정규표현식의 수학적 배경에 대해서는 별도의 부록으로 정리했다.

Author/Translator

Table of Contents

Chapter 1 [입문] 정규표현식: 메타 문자, 구문, 엔진 _ 1 1.1 정규표현식의 기본 3 1.2 문자열과 문자열 처리 8 1.3 정규표현식의 기본 3연산: 접합, 선택, 반복 16 1.4 정규표현식의 신택스 슈가 25 1.5 캡처와 치환: 정규표현식으로 문자열을 조작한다 34 1.6 정규표현식의 확장 기능: 전방 탐색/재귀/역참조 55 1.7 정규표현식 엔진의 기본 65 Chapter 2 정규표현식의 역사: 이론과 적용 관점을 모두 아우르는 _ 71 2.1 정규표현식의 기원: ‘계산’의 정형화 73 2.2 클레이니에 의한 통일 76 2.3 [적용편] 프로그래머의 친구 80 2.4 프로그래밍 언어와 정규표현식의 만남 86 2.5 최근의 정규표현식 엔진 현황 88 Chapter 3 프로그래머를 위한 고급 정규표현식: 단순한 정규표현식과 최신 엔진의 구조 비교 _ 97 3.1 단순한 정규표현식과 정규 언어 99 3.2 현대 정규표현식의 다양한 기능/구문/구현 111 3.3 읽기 쉬운 정규표현식 작성 120 3.4 현실적으로 타협하기 123 Chapter 4 DFA형 엔진: 유한 오토마타와 결정성 _ 129 4.1 정규표현식과 유한 오토마타 131 4.2 오토마타 구현 142 4.3 [구현 기술] On-the-Fly 구성법 154 4.4 DFA의 장점: 최소화와 동일성 판정 162 Chapter 5 VM형 엔진: 핵심은 ‘백트랙’ _ 167 5.1 기본적인 VM형 엔진 구현 169 5.2 실용적인 VM 구현 177 5.3 오니그모의 VM 구현 190 5.4 VM 이 외 부분 구현 211 5.6 정리 244 Chapter 6 정규표현식 엔진의 3대 기술 동향: JIT 컴파일, 고정 문자열 탐색, 비트 병렬 _ 245 6.1 JIT 컴파일: 자바스크립트와 정규표현식 엔진의 고속화 247 6.2 고정 문자열 탐색을 이용한 고속화 257 6.3 비트 병렬 기법을 이용한 일치 266 Chapter 7 정규표현식의 함정: 백트랙 증가, 일치 동작의 차이 _ 275 7.1 백트랙 증가에 의한 성능 저하와 해결책 276 7.2 일치에 대한 고찰 289 7.3 각기 다른 정규표현식 엔진 간의 동작 차이 296 Chapter 8 정규표현식을 넘어서: 작성하지 않기, 해석하기, 적합하지 않은 구문 알기_ 307 8.1 정규표현식 자동 생성 308 8.2 복잡한 정규표현식의 해석 314 8.3 구문 해석의 세계: 정규표현식보다 표현력이 높은 문법 사용하기 323 Appendix 부록 _ 335 A.1 정규와 비정규의 벽: 정규표현식의 수학적 배경 336 A.2 정규성의 매력: 정규 언어의 진보된 수학적 배경 358 찾아보기 388

Description

한 권으로 배우는 정규표현식의 모든 것! 문자열 패턴을 간단한 식으로 기술할 수 있는 정규표현식은 문자열 처리를 포함해서 다양한 방면에서 활용되는 편리한 도구다. 그래서 이 책은 초보자도 정규표현식을 마스터할 수 있도록 ‘정규표현식이란 무엇인가?’부터 시작해서 정규표현식의 역사/구조/이론은 물론 정규표현식 처리를 위한 VM 설계 방침이나 JIT를 이용한 최적화 방법 등 정규표현식의 모든 것을 다루고 있다. 최신 엔진 구현과 이론적 배경! 한 권으로 배우는 정규표현식의 모든 것! 문자열 패턴을 간단한 식으로 기술할 수 있는 정규표현식은 문자열 처리를 포함해서 다양한 방면에서 활용되는 편리한 도구다. 그래서 이 책은 초보자도 정규표현식을 마스터할 수 있도록 ‘정규표현식이란 무엇인가?’부터 시작해서 정규표현식의 역사/구조/이론은 물론 정규표현식 처리를 위한 VM 설계 방침이나 JIT를 이용한 최적화 방법 등 정규표현식의 모든 것을 다루고 있다. 정규표현식을 일상 업무에서 사용하는 프로그래머나 정규표현식을 깊이 있게 배우고자 하는 열혈 학습자, 그리고 언어 처리 관련 개발에 관심 있는 독자들은 이 한 권의 책을 통해 정규표현식의 모든 것을 배울 수 있을 것이다. 또한, 이론에 관심 있는 독자들을 위해서 정규표현식의 수학적 배경에 대해서는 별도의 부록으로 정리했다. 이 책의 특징 ■ 정규표현식의 기초부터 시작해서 역사/구조/구현/이론 등 폭넓은 주제를 다룬다. ■ 자바, 파이썬, 자바스크립트, 펄, 루비 등 다양한 언어에서의 정규표현식 사용법을 다룬다. ■ 한 권의 책을 통해 정규표현식의 모든 것을 배울 수 있도록 체계적으로 기술하고 있다. ■ 각 주제에 정통한 세 명의 저자가 각자의 전문 분야를 살려 집필하였다. ■ 정규표현식을 좀 더 쉽게 작성하고 해석하는 방법뿐만 아니라 정규표현식을 자동으로 생성하는 기법도 안내한다. ■ 정규표현식을 자유자재로 다루는 데 필요한‘ 정규표현식 엔진 구조’에 대해서는 실제 코드를 사용해서 상세하게 설명하고 있다.