왜 텍스트 모양 전용 작은 언어가 필요했나
4 GB 짜리 로그 파일이 있고, IP 주소 뒤에 5xx HTTP 상태가 붙은 줄을 다 찾아야 한다고 해 봐. 파이썬 스크립트로 짜면 — 줄 split, 세 번째 컬럼 파싱, IP 인지 체크, 상태가 5 로 시작하는지 체크. 코드 20줄 박고, 컬럼 인덱스 디버깅에 30분 날려.
아니면 \b\d+\.\d+\.\d+\.\d+\b.*\b5\d{2}\b 한 줄 써서 ripgrep 으로 흘려. 한 줄. 0.5초.
정규식이 존재하는 이유가 바로 이 갭이야 — 질문이 "이 모양인 문자열이 어느 거?" 일 때, 손으로 파싱하는 건 오버킬이거든. 정규식은 패턴 문법이야. 텍스트 모양만 묘사하는 작은 언어.
정규식이 진짜 잘하는 세 가지
검색. "이 더미에서 X 모양인 거 다 찾아." 에디터, IDE, 로그 분석기, 보안 스캐너.
유효성 검증. "이 문자열 전체가 X 모양 맞아?" 폼 필드, config 파서, 라우트 매칭.
추출 + 치환. "이 문자열에서 X 만 빼" 또는 "X 를 다 Y 로 바꿔." 데이터 정제, code mod, 빌드 스크립트.
이 리스트에 *없는* 거 봐: 중첩 구조 파싱, 의미 추적, HTML 이나 JSON. 트랙 끝에서 이 한계 다시 짚어줄게.