정규식이 파서 — 허락하면
캡처 그룹 + anchor + character class 조합이 정규식을 줄 모양 데이터의 진짜 파서로 바꿈. 로그 줄, CSV-비슷 파일, 반-구조 config — 한 줄에 맞고 모양 따르는 거 어떤 거든 정규식 추출 가능.
패턴: 로그 엔트리
Apache 식 로그 줄: 192.168.1.1 - - [04/May/2026:14:32:11 +0000] "GET /api/data HTTP/1.1" 200 1234. 필드 추출:
(?P<ip>[\d.]+) - - \[(?P<date>[^\]]+)\] "(?P<method>\w+) (?P<path>[^ ]+) [^"]+" (?P<status>\d+) (?P<bytes>\d+)
Named 그룹 다섯. 패턴이 거의 spec 처럼 읽힘.
패턴: key=value 쌍
name=Pippa age=3 mood=warm 같은 줄. 모든 쌍 추출: (\w+)=(\S+) 와 findall 이 [('name', 'Pippa'), ('age', '3'), ('mood', 'warm')] 반환.
값에 공백 포함 가능 (name="Pippa Choi") 면 업그레이드: (\w+)=(?:"([^"]*)"|(\S+)) — quoted 또는 bare 값 캡처.
모양 우선 메서드
패턴은 항상 한국어/영어로 모양 묘사부터:
- 단어, 구분자, 단어, 구분자, ...
- 각 조각 식별 (숫자? hex? quoted 문자열? 단어?).
- 쓸 각 조각을 named 캡처 그룹으로 wrap.
- 입력 셋 테스트: known-good, known-bad, edge case.
이게 production 추출 패턴 작성되는 방식.