Regex 테스터
실시간 일치 항목 강조, 패턴에 대한 쉬운 설명, 일치 또는 바꾸기 모드를 사용하여 샘플 텍스트로 정규 표현식을 테스트합니다.
패턴 분석
일치 항목
| # | 일치 항목 | 위치 | 그룹 |
|---|
대체 결과
이용 방법
이 도구는 JavaScript RegExp 엔진을 사용하여 샘플 텍스트로 정규 표현식을 테스트하며, 입력하는 동안 일치 항목이 강조 표시되고 패턴의 의미를 쉽게 설명하며 모든 일치 항목에 대해 명명되거나 번호가 매겨진 캡처 그룹을 표시합니다.
- 패턴 및 플래그 입력
또는 빠른 패턴으로 시작하여 조정하세요.
- 테스트 문자열 붙여넣기
일치 항목이 실시간으로 강조 표시되며 위치 및 캡처 그룹이 나열됩니다.
- 필요한 경우 바꾸기 모드로 전환하세요
코드에 사용하기 전에 치환된 텍스트를 확인하세요.
패턴 분석 및 일치 목록 읽기
패턴 분석은 정규식을 왼쪽에서 오른쪽으로 읽으며 각 토큰(문자 클래스, 앵커, 수량자, 그룹 등)을 알기 쉬운 언어로 설명합니다. 이는 패턴 이해를 위한 안내이며 완전한 파서가 아니므로, 특이하거나 잘못된 구문은 일반적으로 설명될 수 있습니다.
- 플래그: g는 첫 번째 일치에서 멈추지 않고 모든 일치를 찾습니다. i는 대소문자를 구분하지 않습니다. m은 ^와 $가 각 줄의 시작과 끝에 일치하도록 합니다. s는 점(.)이 줄 바꿈에도 일치하도록 합니다. u는 전체 Unicode 모드를 활성화합니다. y는 마지막 인덱스에서 일치를 고정합니다.
- 캡처 그룹: 괄호는 재사용을 위해 일치 항목의 일부를 캡처합니다. 명명된 그룹 (?<year>\d{4})은 일치 목록에 번호뿐만 아니라 이름으로도 표시됩니다.
- 치환 모드: $1, $2는 번호가 매겨진 그룹을 참조하고 $<name>은 명명된 그룹을 참조하며, JavaScript의 String.replace와 동일한 구문을 사용합니다.
PCRE가 아닌 JavaScript 정규식
이 도구는 JavaScript RegExp 엔진을 사용하며, PHP나 Python의 re 모듈 등에서 사용되는 PCRE와 여러 가지 면에서 다릅니다. 뒤로 탐색(lookbehind) 지원은 엔진 버전에 따라 다르며, 명명된 그룹은 (?<name>...) 구문을 사용하고, u 플래그가 없으면 Unicode 처리 방식이 다릅니다. 프로덕션 환경에 패턴을 배포하기 전에 반드시 대상 언어에서 테스트하세요. 모든 작업은 브라우저 내에서 실행되며, 로그 라인이나 개인 데이터가 포함될 수 있는 텍스트는 어디로도 전송되지 않습니다.
자주 묻는 질문
온라인에서 샘플 텍스트로 정규식을 테스트할 수 있나요?
두 슬래시 구분 기호 사이에 패턴을 입력하고 플래그 필드에 전역 검색용 g, 대소문자 구분 없음용 i 등 필요한 플래그를 설정한 다음 테스트 문자열을 입력하거나 붙여넣으세요. 입력하는 동안 실시간으로 일치 항목이 강조 표시되며, 아래 일치 목록에는 각 일치 항목과 인덱스, 문자 위치가 표시됩니다.
이 Regex 테스터는 민감한 데이터에도 안전하게 사용할 수 있나요?
네. Regex 테스터는 브라우저 내에서 JavaScript RegExp 엔진을 사용하여 실행됩니다. 어떤 서버로도 데이터가 전송되지 않습니다. 실제 로그 라인, 개인 정보 또는 내부 데이터를 기기 외부로 나가지 않은 상태에서 안전하게 테스트할 수 있습니다.
치환을 테스트하려면 regex 대체 모드를 어떻게 사용하나요?
모드 토글을 일치에서 대체로 전환하세요. 대체 필드가 나타나며 여기서는 번호 캡처 그룹에 $1, $2를 사용하거나 이름 있는 그룹에 $<name>을 사용할 수 있고, 대체된 결과가 실시간으로 표시됩니다. 이는 코드나 편집기에 적용하기 전에 찾기 및 바꾸기 작업을 검증하는 데 유용합니다.
빠른 패턴 사전 설정이란 무엇이며 언제 사용해야 하나요?
이메일, URL, IP 주소, 전화번호, 16진수 색상, 날짜 등의 사전 설정 버튼은 클릭 한 번으로 일반적으로 필요한 regex 패턴과 적절한 플래그를 불러옵니다. 이를 시작점으로 삼아 특정 형식에 맞게 패턴을 수정하여 사용하세요. 모든 예외 상황을 보장하지는 않으며, 예를 들어 이메일 사전 설정은 전체 RFC 5321 규격이 아닌 일반적인 근사치를 따릅니다.
왜 제 regex가 JavaScript에서는 작동하는데 Python이나 다른 언어에서는 작동하지 않나요?
이 도구는 JavaScript RegExp 엔진을 사용하며, 이는 PHP, Python의 re 모듈 및 기타 여러 언어에서 사용되는 PCRE와 몇 가지 차이점이 있습니다. 엔진 버전에 따라 후행 일치(lookbehind) 지원 여부가 다르며, 일부 언어에서는 명명된 그룹(named groups)의 구문이 다르고, Unicode 처리 방식에도 차이가 있습니다. 프로덕션 환경에 패턴을 배포하기 전에 반드시 대상 언어에서 테스트하세요.