샌드박스 없이 정규식 쓰지 마
non-trivial 정규식을 코드에 바로 박는 건 SQL REPL 없이 쿼리 디버깅하는 거랑 같아. 할 순 있어. 하지 마.
프로 습관: 테스터에서 패턴 빌드, 동작하면 코드에 붙여 넣기.
알아둘 만한 테스터 셋
regex101.com — 표준. flavor 선택 (PCRE2, Python, JavaScript, Go), 패턴 붙여 넣기, 테스트 문자열 붙여 넣기, 실시간 하이라이팅, named group 분해, 단계별 설명, 엔진 state 걷는 디버거. 무료. 기본 사용엔 로그인 불필요.
regexr.com — UI 더 친근, 디테일은 좀 적음. 빠른 체크에 좋음.
debuggex.com — 패턴을 railroad diagram 으로 시각화 (4강의 state machine 을 눈에 보이게). 복잡한 패턴 *이해* 하려고 할 때 (테스트만이 아니라) 유용.
내장 대안들
터미널에서 산다면 테스터는 둘 중 하나:
rg --debug 'PAT' file— RE2 가 뭘 생각하는지 보기.- Python REPL:
import re; re.findall(r'PAT', text)— 파이썬이 데일리 드라이버면 가장 빠른 샌드박스. echo "input" | grep -E 'PAT'— POSIX 한정 체크.
패턴은 점진적으로 빌드
완벽한 80자 패턴을 한 번에 쓰려고 하지 마. 예시 하나 매칭하는 가장 단순한 버전부터 시작. 조건 추가. 테스트. 엣지 케이스 추가. 테스트. 패턴은 청사진이 아니라 씨앗에서 자라.