정규 표현식이란
정규 표현식(Regular Expression, 약칭 regex)은 문자열 패턴을 기술하는 마이크로 언어입니다. 몇 줄 안 되는 정규식으로 "모든 이메일 찾기", "휴대폰 번호 형식 검증", "모든 날짜 형식 바꾸기" 같은 텍스트 처리 작업을 완료할 수 있습니다.
기본 문법
문자 클래스
대괄호로 문자 집합 중 하나를 매칭합니다:
[abc]a 또는 b 또는 c 매칭[a-z]임의의 소문자 매칭[0-9]임의의 숫자 매칭,\d와 동일[^abc]a/b/c를 제외한 임의의 문자 매칭
미리 정의된 문자
\d숫자,\D비숫자\w문자·숫자·밑줄,\W그 반대\s공백 문자,\S비공백.임의의 문자(줄바꿈 제외)
수량자
*0회 이상 출현+1회 이상 출현?0회 또는 1회 출현{n}정확히 n회,{n,m}n회에서 m회
그룹과 앵커
(...)캡처 그룹^행 시작,$행 끝
흔한 사용 사례
이메일 검증
^[\w.-]+@[\w.-]+\.\w{2,}$
중국 휴대폰 번호
^1[3-9]\d{9}$
URL 추출
https?://[\w./?=&%-]+
DocsAll 정규식 테스트 도구
정규식을 배우는 가장 효과적인 방법은 쓰면서 테스트하는 것입니다. DocsAll은 온라인 정규식 테스트 도구를 제공하며, 환경 설치가 필요 없습니다:
1. 정규식 입력
표현식 입력란에 regex를 입력하고, 수식어를 선택합니다(g 전역, i 대소문자 무시, m 여러 줄).
2. 테스트 텍스트 입력
아래 텍스트 상자에 매칭할 내용을 붙여넣습니다.
3. 실시간 결과 확인
매칭된 내용이 하이라이트로 표시되며, 모든 캡처 그룹이 나열됩니다.
학습 제안
- 간단한 사례부터 시작하세요, 처음부터 복잡한 정규식을 쓰지 마세요
- 그룹과 명명 그룹을 활용해 가독성을 높이세요
- 탐욕적과 비탐욕적(
*?+?)의 차이를 꼭 기억하세요 - 성능에 민감한 상황에서는 중첩 수량자를 피하세요
정규식은 배우기 어려워 보이지만, 기본 문법을 익힌 뒤 DocsAll 정규식 테스트 도구에서 실전 연습을 하면 일주일이면 능숙해집니다.