이메일 형식이 맞는지 검사하고 싶다. 전화번호에서 숫자만 추출하고 싶다. 특정 패턴의 문자열을 찾아서 바꾸고 싶다. 정규표현식을 쓰면 된다는 건 아는데, 제대로 작동하는지 확신이 없다. 정규식 테스터에서 바로 확인해볼 수 있다.
정규표현식이란
정규표현식(Regular Expression, Regex)은 문자열에서 특정 패턴을 찾거나 대체하는 데 사용하는 문법이다. 검색, 유효성 검사, 텍스트 처리 등 다양한 곳에서 쓰인다. 처음에는 복잡해 보이지만 익숙해지면 강력한 도구가 된다.
사용 방법
gimo.kr/regex-tester에서 정규식 패턴을 입력한다. 테스트할 문자열을 아래 텍스트 영역에 넣는다. 매칭되는 부분이 실시간으로 하이라이트된다. 어느 부분이 매칭되고 어느 부분이 안 되는지 바로 확인할 수 있다.
플래그 설정
정규식 동작을 변경하는 플래그를 설정할 수 있다.
- g (global): 첫 번째 매칭에서 멈추지 않고 모든 매칭을 찾는다.
- i (case-insensitive): 대소문자를 구분하지 않는다.
- m (multiline): 여러 줄에서 각 줄의 시작과 끝을 인식한다.
각 플래그를 켜고 끄면서 결과가 어떻게 달라지는지 확인할 수 있다.
그룹 캡처
괄호로 묶은 부분은 그룹으로 캡처된다. 예를 들어 전화번호 (d{3})-(d{4})-(d{4})에서 각 그룹이 따로 추출된다. 추출된 그룹들이 목록으로 표시되어 원하는 부분만 가져올 수 있는지 확인할 수 있다.
자주 쓰는 패턴
치트시트에서 자주 쓰는 패턴들을 제공한다. 이메일, URL, 전화번호, IP 주소, 우편번호 등 검증 패턴을 복사해서 바로 쓸 수 있다. 직접 처음부터 만들기 어려운 복잡한 패턴도 예시를 참고하면 된다.
대체 기능
매칭된 부분을 다른 텍스트로 대체하는 테스트도 가능하다. 치환 문자열을 입력하면 결과가 어떻게 바뀌는지 미리 볼 수 있다. 그룹 참조(, 등)를 사용한 복잡한 치환도 테스트할 수 있다.
개발자 활용
폼 유효성 검사 로직을 만들 때 정규식이 제대로 동작하는지 먼저 테스트한다. 로그 파일에서 특정 패턴을 추출할 때 패턴을 다듬는다. 텍스트 전처리 스크립트를 작성할 때 정규식을 검증한다. 코드에 적용하기 전에 여기서 충분히 테스트하면 버그를 줄일 수 있다.
학습 도구로도 활용
정규표현식을 배우는 중이라면 이 도구로 연습하기 좋다. 패턴을 바꿔가면서 어떤 문자열이 매칭되는지 실험해볼 수 있다. 즉각적인 피드백이 있어서 학습 효율이 높다.