정규식 테스터
플래그
캡처 그룹은 $1, $2, 전체 일치는 $& 를 사용하세요.
| 번호 | 위치 | 일치 | 그룹 |
|---|
이 테스터는 브라우저 자체의 자바스크립트 엔진으로 동작하므로 방언은 ECMAScript입니다. PCRE나 Python, .NET용으로 쓴 패턴은 다르게 동작할 수 있으며, 특히 후방 탐색, 원자 그룹, 소유 수량자, 유니코드 속성 이스케이프에서 차이가 납니다.
이 정규식 테스터가 하는 일
정규식은 쓰기는 쉽고 확신하기는 어렵습니다. 이 페이지는 여러분의 패턴이 자기 텍스트에서 실제로 무엇에 일치했고 어떤 그룹을 잡았으며 치환하면 어떤 결과가 나오는지 보여 줍니다. 그 패턴이 운영 데이터 근처에 가기 전에 말입니다.
사용 방법
- 1 슬래시 사이에 패턴을 입력하고 필요한 플래그를 체크하세요.
- 2 아래에 실제 텍스트를 붙여넣고, 지저분할수록 좋습니다, 실행을 누르세요.
- 3 빠른 확인은 강조 보기, 캡처한 그룹은 표에서 확인하고, 치환 문자열을 넣어 다시 쓰기 결과를 미리 보세요.
패턴을 별도 워커에서 실행하는 이유
어떤 패턴은 폭발합니다. (a+)+$ 같은 중첩 수량자는 거의 일치하는 문자열에서 엔진이 천문학적인 수의 경로를 시도하게 만들 수 있고, 이미 실행 중인 정규식은 그것을 시작한 페이지에서 중단할 수 없습니다. 워커에서 실행하면 2초 뒤에 종료할 수 있어, 나쁜 패턴의 대가가 얼어붙은 탭이 아니라 메시지 한 줄이 됩니다.
간단 참조
| \d | 숫자 한 자 |
| \w | 문자, 숫자 또는 밑줄 |
| \s | 모든 공백 문자 |
| . | 줄바꿈을 뺀 모든 문자 |
| ^ $ | 텍스트의 처음과 끝 |
| * + ? | 0회 이상, 1회 이상, 0 또는 1회 |
| {2,5} | 두 번에서 다섯 번 |
| (...) | 캡처 그룹, $1 로 참조 |
| (?<ad>…) | 이름 있는 그룹, 긴 패턴에서 읽기 쉬움 |
| [a-z] | 집합 안의 문자 하나 |
| a|b | 왼쪽 또는 오른쪽 |
| \b | 단어 경계, 문자 자체를 소비하지 않음 |
방언이 중요합니다
여기서 되는 패턴이 서버 코드에서는 안 될 수 있고 그 반대도 마찬가지입니다. 자바스크립트, PCRE, 파이썬, .NET은 지원 범위가 다르고 때로는 같은 문법의 의미도 다릅니다. 실제로 배포할 방언에서 시험하고, 브라우저에서 돌아갈 것이라면 이 페이지가 알맞은 곳입니다.
대부분의 실수는 그룹에 숨어 있습니다
일치 자체는 맞는데 캡처가 틀린 경우가 많습니다. 어떤 그룹이 선택적이라 undefined로 돌아오거나, 괄호가 하나 옮겨져 두 그룹이 뒤바뀝니다. 표는 각 일치의 모든 그룹을 나란히 보여 주므로, $2가 생각한 그것이 아님을 가장 빨리 알아챌 수 있습니다.
입력한 내용은 어디로도 전송되지 않습니다
테스트 텍스트가 꾸며낸 것인 경우는 드뭅니다. 사람들은 로그 줄, 고객 정보, 결제 참조번호를 붙여넣어 패턴이 잡는지 확인합니다. 패턴도 텍스트도 페이지 안에 머무르므로, 실제 데이터로 시험한다고 해서 그 데이터를 누구에게 넘기는 것은 아닙니다.