유틸리티 소개

날짜 형식 YYYY-MM-DD 검증하는 정규표현식

날짜 입력을 받을 때 2024-02-27 형식인지 검사하고 싶다. 정규표현식으로 형식과 어느 정도의 유효성을 검사할 수 있다.

기본 형식 검사

^[0-9]{4}-[0-9]{2}-[0-9]{2}$ 이건 4자리-2자리-2자리 형식만 본다. 정규표현식 테스터에서 2024-02-27은 통과, 2024-2-27은 실패.

범위 검사 추가

^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$ 이러면 월은 01-12, 일은 01-31 범위로 제한된다. 2024-13-45 같은 건 실패.

한계점

2월 30일, 4월 31일 같은 건 정규표현식으로 못 잡는다. 진짜 유효성 검사는 Date 객체로 해야 한다. 테스터는 형식 검사용으로만 쓰자.

복잡한 패턴은 단계별로

긴 정규표현식을 한 번에 작성하려고 하면 실수하기 쉽다. 작은 부분부터 테스트하면서 점점 확장해나가는 게 좋다. 정규표현식 테스터에서 부분 패턴을 먼저 검증하고 합치자.

문서화의 중요성

복잡한 정규표현식은 나중에 보면 이해가 안 된다. 주석을 달거나 패턴이 무엇을 하는지 설명을 남겨두자. 특히 팀 프로젝트에서는 다른 사람도 이해할 수 있게 해야 한다.

성능 고려하기

정규표현식이 느릴 수 있다. 특히 백트래킹이 많은 패턴은 주의해야 한다. 가능한 구체적인 패턴을 쓰고, 너무 복잡해지면 다른 방법을 고려하자. 테스터로 다양한 입력에 대해 테스트해보자.

정규표현식 테스터에서 실시간으로 패턴을 테스트하고 결과를 확인하면서 학습하면 정규표현식 실력이 빠르게 늘어난다.