유틸리티 소개

정규표현식 Named Capture Groups 활용하기

그룹에 이름을 붙이면 1, 2 대신 이름으로 참조할 수 있다. 코드 가독성이 높아진다.

문법

(?패턴) 형식으로 이름 붙인다. JavaScript ES2018부터 지원. 정규표현식 테스터에서 지원 여부를 확인하자.

활용 예시

날짜 파싱할 때 (?d{4})-(?d{2})-(?d{2}) 이렇게 쓰면 match.groups.year로 접근할 수 있다.

치환에서

치환할 때 $ 형식으로 참조한다. 순서 바꿀 때 헷갈리지 않아서 좋다. 테스터로 명명된 그룹 결과를 확인해보자.

코드 리뷰 체크리스트

정규표현식을 코드 리뷰할 때 확인할 것들: 1) 특수문자 이스케이프가 제대로 됐는지, 2) 앵커(^, $)가 필요한지, 3) 탐욕적/게으른 매칭이 맞는지, 4) 테스트 케이스가 있는지. 정규표현식 테스터로 검증했는지 물어보자.

버전 관리와 변경 이력

정규표현식을 변경하면 기존에 잘 동작하던 것이 깨질 수 있다. 변경 사유와 테스트 결과를 커밋 메시지에 남기면 나중에 추적하기 좋다.

결론

정규표현식은 강력하지만 양날의 검이다. 잘 쓰면 코드가 간결해지고, 잘못 쓰면 유지보수 악몽이 된다. 테스터로 충분히 검증하고, 문서화하고, 테스트 코드를 작성하자. 그게 건강한 정규표현식 사용법이다.

복잡한 문자열 처리가 필요할 때 gimo.kr 정규표현식 테스터를 활용하면 패턴 작성과 검증이 훨씬 수월해진다. 실무에서 자주 쓰이는 패턴들을 익혀두면 생산성이 크게 올라간다.