정규표현식이 변경될 때마다 수동으로 테스트하기 번거롭다. 테스트 코드로 자동화하자.
테스트 케이스 작성
매칭되어야 하는 문자열 목록, 매칭되면 안 되는 문자열 목록을 배열로 만든다. 각각 테스트한다.
Jest 예시
test 함수에서 expect(pattern.test(str)).toBe(true) 이런 식으로 검증. 정규표현식 테스터에서 먼저 확인한 케이스들을 테스트 코드로 옮기자.
회귀 방지
누군가 패턴을 수정해도 테스트가 실패하면 바로 알 수 있다. CI/CD에 포함시켜두면 안전하다. 테스터와 자동 테스트를 병행하면 완벽하다.
코드 리뷰 체크리스트
정규표현식을 코드 리뷰할 때 확인할 것들: 1) 특수문자 이스케이프가 제대로 됐는지, 2) 앵커(^, $)가 필요한지, 3) 탐욕적/게으른 매칭이 맞는지, 4) 테스트 케이스가 있는지. 정규표현식 테스터로 검증했는지 물어보자.
버전 관리와 변경 이력
정규표현식을 변경하면 기존에 잘 동작하던 것이 깨질 수 있다. 변경 사유와 테스트 결과를 커밋 메시지에 남기면 나중에 추적하기 좋다.
결론
정규표현식은 강력하지만 양날의 검이다. 잘 쓰면 코드가 간결해지고, 잘못 쓰면 유지보수 악몽이 된다. 테스터로 충분히 검증하고, 문서화하고, 테스트 코드를 작성하자. 그게 건강한 정규표현식 사용법이다.
정규표현식 테스터에서 실시간으로 패턴을 테스트하고 결과를 확인하면서 학습하면 정규표현식 실력이 빠르게 늘어난다.