정규식 테스터

정규표현식을 입력하면 어디가 걸리는지 바로 표시해 줍니다. 매치 목록과 캡처 그룹, 치환 결과를 함께 볼 수 있고 자주 쓰는 한국형 패턴도 준비돼 있습니다. 모든 처리는 브라우저 안에서만 이루어집니다.

정규식

/ /
플래그
0 매치 수
0 캡처 그룹
0 대상 글자 수

테스트 문자열

매치 표시
매치 목록

    정규식 테스터는 정규표현식이 글의 어느 부분에 걸리는지 바로 보여 줍니다. 입력하는 즉시 매치된 곳이 노랗게 표시되고, 매치 목록과 캡처 그룹, 치환 결과를 함께 확인할 수 있습니다. 이메일·휴대폰·사업자등록번호 같은 한국에서 자주 쓰는 패턴이 미리 준비돼 있어 그대로 가져다 쓸 수 있습니다.

    정규식테스터 사용 방법

    1. 패턴 칸에 정규표현식을 넣습니다. 앞뒤 슬래시는 이미 화면에 있으니 그 안쪽만 적으면 됩니다.
    2. 플래그를 고릅니다. g(모두 찾기)는 기본으로 켜져 있고, i(대소문자 무시)·m(여러 줄)·s(점이 줄바꿈 포함)·u(유니코드)를 체크박스로 켜고 끕니다.
    3. 테스트 문자열 칸에 검사할 글을 넣습니다. 매치된 부분이 즉시 표시됩니다.
    4. 자주 쓰는 패턴 목록에서 고르면 패턴과 예시 문장이 함께 채워집니다.
    5. 치환 칸에 바꿀 내용을 적으면 결과가 아래에 나옵니다. $1, $2 처럼 그룹 번호를 쓸 수 있습니다.

    지원 형식과 입력 조건

    지원 문법
    JavaScript 정규표현식 (ECMAScript)
    플래그
    g 모두 찾기 / i 대소문자 무시 / m 여러 줄 / s 점이 줄바꿈 포함 / u 유니코드
    캡처 그룹
    번호 그룹($1, $2)과 이름 그룹 모두 표시
    치환
    $1 같은 그룹 참조 사용 가능
    준비된 패턴
    이메일·휴대폰·전화·사업자등록번호·우편번호·한글·URL·날짜·HTML 태그·중복 공백·IPv4·숫자 12종
    입력 상한
    테스트 문자열 5만 자 (아래 설명 참고)
    처리 위치
    브라우저 안에서만 실행하며 입력한 내용은 서버로 전송되지 않습니다

    왜 5만 자 상한이 있나

    • 정규식은 잘못 쓰면 검사에 걸리는 시간이 폭발적으로 늘어납니다. 반복 안에 반복이 들어간 형태가 대표적입니다.
    • 이런 정규식이 긴 글을 만나면 브라우저 탭 자체가 멈춥니다. JavaScript 는 실행 중인 정규식을 중간에 멈출 수 없기 때문에 미리 막는 수밖에 없습니다.
    • 그래서 테스트 문자열에 상한을 두었습니다. 더 긴 글을 다뤄야 한다면 일부만 잘라 확인한 뒤 실제 프로그램에서 돌리세요.

    JavaScript 정규식의 특징

    • 이 도구는 브라우저의 정규식 엔진을 그대로 씁니다. 그래서 결과가 웹 프런트엔드 코드와 정확히 같습니다.
    • 다만 언어마다 문법이 조금씩 다릅니다. PHP·파이썬·자바에서 쓰는 일부 표기(가변 길이 뒤돌아보기, POSIX 문자 클래스 등)는 동작이 다르거나 지원되지 않을 수 있습니다.
    • 한글을 다룰 때는 [가-힣] 범위를 쓰면 완성형 한글이 잡힙니다. 자음·모음만 있는 글자(ㄱ, ㅏ)까지 포함하려면 범위를 따로 더해야 합니다.

    빈 문자열에 매치되는 패턴

    • a* 나 \d? 처럼 "0개도 허용"하는 패턴은 아무것도 없는 자리에도 매치됩니다. 그래서 매치 수가 글자 수만큼 나오기도 합니다.
    • 이 도구는 그런 경우에도 멈추지 않도록 처리했지만, 실제 코드에서는 무한 루프의 원인이 되니 주의하세요.
    • 의도한 것이 "한 글자 이상"이라면 * 대신 +, ? 대신 범위 지정을 쓰는 편이 안전합니다.

    자주 묻는 질문

    입력한 내용이 서버로 전송되나요?

    아닙니다. 정규식 실행과 치환이 모두 브라우저 안에서 이루어집니다.

    매치가 하나만 나옵니다.

    g 플래그가 꺼져 있으면 첫 번째 매치만 찾습니다. 모두 찾으려면 g를 켜세요.

    왜 겹치는 부분은 한 번만 표시되나요?

    정규식은 앞에서부터 훑으며 매치된 만큼 건너뜁니다. 겹치는 매치를 모두 찾으려면 뒤돌아보기 같은 별도 기법이 필요하고, 이 도구는 표준 동작을 그대로 보여 줍니다.

    주민등록번호 패턴은 왜 없나요?

    고유식별정보라 다루는 것 자체가 법적 제약을 받습니다. 검출 목적이라면 각 서비스의 개인정보 처리 방침에 맞춰 서버에서 처리하는 편이 맞습니다.