정규 표현식 테스트 도구
정규 표현식을 테스트하고 유효성을 검사합니다
패턴과 테스트 텍스트
입력을 멈추면 일치 항목이 업데이트됩니다. 데이터는 이 기기에만 남습니다.
자주 쓰는 패턴
정규식 팁
\b를 사용하면 단어 경계를 기준으로 완전한 단어만 일치시킬 수 있습니다.
?는 수량자를 최소 일치로 만듭니다(가능한 한 적은 문자에 일치).
괄호 ()를 사용하면 일치 항목의 일부를 추출하는 캡처 그룹을 만들 수 있습니다.
(?:...)는 캡처하지 않고 묶기만 하는 비캡처 그룹을 만듭니다.
^와 $는 문자열(또는 m 플래그 사용 시 줄)의 시작과 끝에 일치합니다.
거짓 양성을 피하려면 다양한 입력으로 정규식을 충분히 테스트하세요.
일치 항목 0
패턴을 입력하면 일치 항목을 확인할 수 있습니다.
강조 표시된 텍스트
패턴 설명
패턴 구성 요소가 여기에 표시됩니다.
정규 표현식 테스트 도구 소개
이 정규 표현식 테스트 도구는 즉각적인 시각적 피드백과 함께 정규 표현식을 실시간으로 작성, 테스트, 디버깅할 수 있는 무료 온라인 도구입니다. 정규 표현식(regex)은 거의 모든 프로그래밍 언어에서 텍스트를 검색, 검증, 가공하는 데 쓰이는 강력한 패턴 매칭 문자열입니다. 이 도구로 패턴을 쉽게 실험하고 결과를 바로 확인할 수 있습니다.
이 테스터는 일치 항목 강조, 캡처 그룹 확인, 위치 추적, 자동 패턴 설명을 갖춘 완전한 정규 표현식 개발 환경을 제공합니다. 정규식 패턴을 입력하는 즉시 테스트 문자열에서 모든 일치 항목을 강조하고, 그룹과 인덱스를 포함한 상세한 일치 정보를 표시하며, 패턴의 각 구성 요소가 하는 일을 설명합니다.
폼 검증 규칙을 만들든, 로그 파일을 파싱하든, 텍스트에서 데이터를 추출하든, 정규식을 처음 배우든, 이 도구에는 이메일, 전화번호, URL, IP 주소, 날짜, HTML 태그, 신용카드, 16진수 색상 등을 위한 자주 쓰는 정규식 패턴 라이브러리가 내장되어 있습니다. 프리셋을 한 번 클릭해 불러와 작동 방식을 익히거나 나만의 패턴의 출발점으로 사용하세요.
주요 기능
- 입력하는 동안 즉시 일치 항목을 강조하는 실시간 패턴 테스트
- 테스트 문자열 안에서 모든 일치 항목을 바로 시각적으로 강조
- 위치 인덱스와 일치 텍스트를 포함한 상세한 일치 정보
- 각 그룹의 내용을 따로 보여 주는 캡처 그룹 표시
- 모든 JavaScript 정규식 플래그(전역, 대소문자 무시, 여러 줄, dotall, 유니코드, sticky) 지원
- 정규식 구성 요소를 분해해 보여 주는 자동 패턴 설명
- 샘플 테스트 문자열이 포함된 자주 쓰는 정규식 패턴 10개 라이브러리
- 모든 일치 항목을 한 번의 클릭으로 클립보드에 복사
- 잘못된 정규식 구문에 대한 명확한 오류 메시지
- 복잡한 패턴에서도 부드럽게 작동하는 디바운스 입력
정규 표현식 테스트 도구 사용 방법
- 패턴 입력: 패턴 입력란에 정규 표현식을 입력합니다. 패턴은 표준 정규식 표기법에 따라 슬래시(/ /) 사이에 표시됩니다.
- 플래그 설정: 플래그 버튼을 클릭해 Global(모든 일치 항목 찾기), Ignore Case, Multiline, Dotall, Unicode, Sticky 같은 옵션을 켜고 끕니다.
- 테스트 텍스트 추가: 정규식을 적용해 볼 텍스트를 테스트 문자열 영역에 붙여 넣거나 입력합니다. 또는 프리셋 패턴을 불러와 빠르게 시작할 수 있습니다.
- 일치 항목 검토: Matches 패널에는 각 일치 항목의 텍스트 내용, 위치 인덱스, 캡처 그룹이 표시됩니다. Highlighted Text 패널은 테스트 문자열 안의 일치 항목을 시각적으로 보여 줍니다.
- 설명 읽기: Pattern Explanation 패널은 정규식 구성 요소를 분해해 보여 주므로 패턴의 각 부분이 하는 일을 이해하는 데 도움이 됩니다.
- 결과 복사: "Copy All"을 클릭하면 모든 일치 결과가 클립보드에 복사되어 문서화나 추가 분석에 사용할 수 있습니다.
활용 사례
- 폼 검증: 애플리케이션 코드에 구현하기 전에 이메일, 전화번호, 우편번호, URL, 사용자 지정 형식의 입력 검증 패턴을 만들고 테스트합니다.
- 로그 파일 파싱: 서버 로그와 애플리케이션 출력에서 타임스탬프, 오류 코드, IP 주소, 구조화된 데이터를 추출하는 정규식 패턴을 개발합니다.
- 데이터 추출: HTML 페이지, CSV 파일, 일반 텍스트 문서 같은 비정형 텍스트 소스에서 특정 데이터 포인트를 뽑아내는 패턴을 만듭니다.
- 검색 및 바꾸기: 코드베이스나 텍스트 편집기에 적용하기 전에 찾아 바꾸기 패턴을 테스트해 의도하지 않은 변경을 피합니다.
- 데이터 검증: 신용카드 번호, 날짜, IP 주소, 16진수 색상 같은 데이터 필드가 예상 형식에 맞는지 확인합니다.
- 정규식 학습: 프리셋을 불러와 수정하고 변경이 일치 결과에 미치는 영향을 실시간으로 관찰하며 자주 쓰는 패턴의 작동 방식을 익힙니다.
- 코드 리뷰: 코드 리뷰에서 발견한 정규식 패턴을 테스트해 동작을 이해하고 예외 상황을 올바르게 처리하는지 확인합니다.
- 콘텐츠 필터링: 콘텐츠 검토, 키워드 감지, 텍스트 분류 시스템을 위한 패턴을 만듭니다.
자주 묻는 질문
이 도구는 무료인가요?
네, 정규 표현식 테스트 도구는 테스트할 수 있는 패턴 수에 제한 없이 완전히 무료입니다. 가입이나 구독도 필요하지 않습니다.
내 데이터는 안전한가요?
물론입니다. 모든 정규식 테스트는 JavaScript를 사용해 브라우저 안에서만 이루어집니다. 패턴과 테스트 문자열은 서버로 전송되거나 어디에도 저장되지 않습니다. 데이터는 사용자의 기기에서만 안전하게 유지됩니다.
이 도구는 어떤 정규식 방언을 사용하나요?
이 도구는 ECMAScript 정규식 구문을 지원하는 JavaScript 기본 RegExp 엔진을 사용합니다. 여기서 테스트한 패턴은 JavaScript, TypeScript 및 ECMAScript와 호환되는 다른 환경에서 그대로 작동합니다.
각 플래그는 무엇을 의미하나요?
Global(g)은 첫 번째 일치에서 멈추지 않고 모든 일치 항목을 찾습니다. Ignore Case(i)는 대소문자를 구분하지 않고 일치시킵니다. Multiline(m)은 ^와 $가 줄의 시작과 끝에 일치하게 합니다. Dotall(s)은 점이 줄바꿈에도 일치하게 합니다. Unicode(u)는 전체 유니코드 지원을 켭니다. Sticky(y)는 마지막 인덱스 위치부터 일치시킵니다.
내 정규식이 다른 프로그래밍 언어에서도 작동하나요?
대부분의 기본 정규식 문법은 언어 간에 공통이지만, lookbehind, 이름 있는 그룹, 플래그 같은 고급 기능에는 차이가 있습니다. 여기서 테스트한 패턴은 JavaScript에서 작동하는 것이 보장됩니다. 다른 언어에서는 약간의 조정이 필요할 수 있습니다.
캡처 그룹이란 무엇인가요?
캡처 그룹은 정규식 패턴에서 괄호 ()로 감싼 부분입니다. 일치한 텍스트를 캡처해 별도로 참조할 수 있습니다. 이 도구는 일치 정보 패널에 각 그룹의 내용을 표시합니다.
팁과 모범 사례
- 단순하게 시작해서 확장: 필요한 부분의 일부와 일치하는 기본 패턴으로 시작해, 정확히 원하는 데이터를 캡처할 때까지 점차 복잡도를 높이세요.
- 단어 경계(\b) 사용: 패턴 앞뒤에 \b를 추가하면 전체 단어만 일치시키고 더 큰 단어 안의 부분 일치를 피할 수 있습니다.
- 비탐욕 수량자 선호: 가장 긴 문자열이 아닌 가장 짧은 문자열과 일치시키려면 * 와 + 대신 *? 와 +? 를 사용하세요.
- 예외 상황 테스트: 빈 문자열, 특수 문자, 매우 긴 텍스트 같은 예상치 못한 입력으로 항상 정규식을 테스트해 안정적으로 동작하는지 확인하세요.
- 비캡처 그룹 사용: 선택(alternation)을 위해 그룹이 필요하지만 결과를 캡처할 필요가 없다면 (?:...)를 사용해 성능을 높이세요.
- 프리셋을 불러와 학습: 내장된 자주 쓰는 패턴을 학습 예제로 활용하세요. 수정하고 변경이 일치 결과에 미치는 영향을 관찰하면 이해가 깊어집니다.