재사용할 패턴 컴파일
re.compile(pattern) 이 같은 메서드들 (.search, .findall, .sub 등) 다 가진 Pattern 객체 반환, but 매번 호출에 파싱 단계 스킵. 루프 또는 함수 가로질러 반복 사용 패턴엔 컴파일이 더 빠름.
Python 이 사실 컴파일된 패턴 자동 캐싱 (마지막 몇 unique). But 명시 컴파일이 더 명확한 코드, 캐시 상태 무관 보장.
VERBOSE 플래그
re.VERBOSE (alias re.X) 가 공백과 주석 있는 멀티라인 패턴 작성 가능. 패턴 안:
- 공백 무시 (리터럴 공백엔
\s,\, character class). #가 줄 끝까지 주석 시작.
가독 안 되는 정규식의 치료. ~30 자 넘는 패턴은 다 이득.
플래그 결합
플래그를 | 로 결합: re.compile(pattern, re.VERBOSE | re.MULTILINE | re.IGNORECASE).
Inline 플래그
대안으로 패턴 시작에 (?flags) 로 플래그 설정: 시작의 (?ix) 가 전체 패턴에 IGNORECASE 와 VERBOSE 활성. Scoped (?ix:...) 로도 섹션에 동작.