Regex 매칭 테스트 도구 완벽 가이드
정규표현식(Regular Expression, Regex)은 문자열에서 특정 패턴을 검색, 추출, 치환하기 위한 강력한 문법 체계입니다. 프로그래밍, 데이터 처리, 텍스트 편집 등 다양한 분야에서 필수적으로 활용되며, 이메일 주소 검증, 전화번호 추출, 로그 파싱, HTML 태그 처리 등 실무에서 매우 빈번하게 사용됩니다. 이 온라인 정규식 테스트 도구를 사용하면 별도의 프로그래밍 환경 없이도 브라우저에서 즉시 정규표현식 패턴을 작성하고 테스트할 수 있습니다.
주요 기능 안내
본 도구는 매칭 모드와 치환 모드를 지원합니다. 매칭 모드에서는 입력한 정규식 패턴에 일치하는 부분을 다양한 색상으로 하이라이팅하여 시각적으로 확인할 수 있고, 각 매치의 인덱스 위치와 캡처 그룹 정보를 상세하게 보여줍니다. 치환 모드에서는 매칭된 텍스트를 원하는 문자열로 교체한 결과를 즉시 미리 볼 수 있어 치환 패턴의 정확성을 사전에 검증할 수 있습니다. g(전역), i(대소문자 무시), m(멀티라인), s(dotAll) 플래그를 토글 방식으로 간편하게 설정할 수 있으며, 입력 내용은 자동으로 저장되어 브라우저를 닫았다 열어도 이전 작업을 이어갈 수 있습니다.
정규표현식 기본 문법
정규식에서 점(.)은 임의의 한 문자를 의미하고, \d는 숫자, \w는 단어 문자를 나타냅니다. 수량자로는 *(0회 이상), +(1회 이상), ?(0 또는 1회), {n,m}(n~m회 반복)이 있습니다. 괄호 ()를 사용하면 캡처 그룹을 만들 수 있고, 치환 시 $1, $2 등으로 참조할 수 있습니다. 앵커 ^와 $는 각각 문자열의 시작과 끝을 의미하며, m 플래그를 사용하면 줄 단위로 적용됩니다. 전방 탐색(?=)과 후방 탐색(?<=)을 활용하면 매칭 위치를 더욱 정밀하게 제어할 수 있습니다.
활용 예시
- 이메일 검증: [a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}
- 한국 전화번호: (010|011|016|017|018|019)-\d{3,4}-\d{4}
- IP 주소 추출: \b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b
- HTML 태그 제거: <[^>]+> (치환 모드에서 빈 문자열로 교체)
- 날짜 형식 변환: (\d{4})-(\d{2})-(\d{2}) → $3/$2/$1
자주 묻는 질문 (FAQ)
Q. 정규표현식에서 g 플래그는 어떤 역할을 하나요?
A. g(global) 플래그는 전역 검색을 활성화합니다. g 플래그 없이는 첫 번째 매칭만 반환하지만, g 플래그를 설정하면 텍스트 내 모든 매칭을 찾아줍니다. 대부분의 경우 g 플래그를 활성화하여 사용하는 것이 편리합니다.
Q. 치환 문자열에서 $1, $2는 무슨 의미인가요?
A. $1, $2 등은 정규식에서 괄호 ()로 감싼 캡처 그룹의 역참조입니다. 첫 번째 괄호 그룹이 $1, 두 번째가 $2입니다. 예를 들어 패턴 (\d{4})-(\d{2})-(\d{2})에서 2024-01-15를 매칭하면 $1은 2024, $2는 01, $3은 15가 됩니다. 이름 있는 그룹은 $<name>으로 참조합니다.
Q. 입력한 정규식 패턴이 저장되나요?
A. 네, 테스트를 실행하면 패턴, 플래그 설정, 테스트 텍스트, 치환 문자열이 브라우저의 LocalStorage에 자동 저장됩니다. 같은 브라우저에서 다시 방문하면 이전 작업 내용이 자동으로 복원됩니다. 초기화 버튼을 누르면 저장된 데이터가 모두 삭제됩니다.
Q. 이 도구에서 지원하지 않는 정규식 기능이 있나요?
A. 이 도구는 JavaScript의 RegExp 엔진을 기반으로 동작합니다. JavaScript가 지원하는 모든 정규식 문법을 사용할 수 있으며, 이름 있는 캡처 그룹, 전방/후방 탐색, 유니코드 속성 등 최신 기능도 모두 지원합니다. 다만 PCRE(Perl) 전용 문법(재귀 패턴, 조건부 패턴 등)은 사용할 수 없습니다.