홈 › 개발·웹 도구

정규식 테스트

패턴이 너무 오래 걸리면(1초 이상) 자동으로 멈춰서 브라우저가 멈추지 않아요.

파일은 서버로 전송되지 않고 내 기기에서만 처리돼요

정규식 테스트, 일치 결과를 읽는 방법

언제 쓰나요

고객 문의 내보내기 파일에서 휴대전화 번호만 뽑아야 할 때, 편집기의 ‘정규식으로 바꾸기’를 실행하기 전에 엉뚱한 곳까지 바뀌지 않는지 확인하고 싶을 때, 구글 시트의 REGEXEXTRACT에 넣을 패턴을 다듬을 때 이 도구에서 먼저 시험해 봐요. 실제 데이터 몇 줄을 붙여 넣고 색이 칠해지는 곳을 보면, 패턴이 너무 넓은지 좁은지 바로 드러나요.

사용 방법

패턴 칸에 1번, 플래그 칸에 2번, 자주 쓰는 패턴 목록에 3번, 바꾸기 칸에 4번 표시가 붙은 화면

1단계패턴과 플래그 넣기

  1. ① 처음에는 ‘숫자 3자리-3~4자리-4자리’를 괄호 셋으로 묶은 전화번호 패턴이 들어 있어요. 앞뒤에 /를 붙이지 않고 패턴만 적어요.
  2. ② d·g·i·m·s·u·y·v 말고 다른 글자는 무시해요. g를 빼면 첫 번째 일치 하나만 찾아요.
  3. ③ 목록에서 고르면 패턴과 플래그 칸이 함께 바뀌어요. ‘줄 앞뒤 공백’만 플래그가 gm이고 나머지는 g예요.
  4. ④ 바꾸기는 비워 둬도 돼요. 여기서는 $1-****-$3를 넣어 가운데 번호를 가려 봤어요.
일치 개수 줄에 5번, 색 표시된 글에 6번, 그룹 값 표에 7번 표시가 붙은 화면

2단계일치 결과 보기

  1. ⑤ 기본 예시에서는 ‘1개 일치’가 나와요. 02-555-1234는 앞부분이 두 자리라 걸리지 않아요.
  2. ⑥ 일치한 부분이 두 가지 색으로 번갈아 칠해져서, 붙어 있는 일치도 경계가 보여요.
  3. ⑦ 위치는 글의 맨 처음을 0으로 센 글자 번호예요. 괄호 그룹마다 $1, $2 열이 생겨요.
바꾼 결과 칸에 8번 표시가 붙은 화면

3단계바꾼 결과 보기

  1. ⑧ 결과는 읽기 전용 칸에 나와요. 바꾸기 칸이 비어 있으면 이 칸은 숨겨지고, 원래 테스트 글은 바뀌지 않아요.

예시 글로 본 패턴별 결과

아래는 페이지에 처음 들어 있는 세 줄짜리 테스트 글에 목록 속 패턴을 하나씩 넣어 본 결과예요.

패턴일치 수눈여겨볼 점
휴대전화1개010-1234-5678만
일반 전화(지역번호)2개010 번호도 0\d{1,2}에 걸려 함께 잡혀요
이메일2개$1에는 마지막 .com, .kr만 남아요
날짜 YYYY-MM-DD1개연·월·일이 $1~$3으로 나뉘어요
우편번호1개04524
숫자(쉼표 포함)10개전화번호 조각까지 따로따로 잡혀요

이메일 패턴의 $1이 마지막 조각만 보여 주는 건, 반복되는 괄호 그룹은 마지막으로 일치한 값만 기억하기 때문이에요. 또 한글은 \w(영문·숫자·_)에 속하지 않아서, ‘번호04524번’처럼 한글에 붙은 숫자도 \b 경계로 인정돼 우편번호 패턴에 걸려요.

멈추지 않게 하는 장치

검사는 화면과 분리된 별도 작업 공간(웹 워커)에서 돌아가요. 1초 안에 답이 없으면 작업 공간을 통째로 끝내고 안내를 띄워요. 일치는 5,000개에서 멈추고, 표에는 앞의 200개만 그려요.

정규식 검사 시간 제한 그림패턴이나 글이 바뀔 때마다 별도 작업 공간인 웹 워커에 검사를 맡기고, 1초 안에 답이 오면 결과를 그리고, 넘으면 워커를 끝내고 안내를 띄워요.1초 안에 끝나면 표시, 넘으면 중단페이지 화면입력이 바뀜웹 워커패턴 검사일 맡기기1초 안에 답이 옴색 표시 · 개수그룹 표 (앞 200개)일치는 5,000개까지1초가 지남워커를 통째로 끝냄중첩 반복 안내다음 입력 때 새로 만듦
입력이 바뀔 때마다 워커에 일을 맡기고, 1초가 지나면 워커를 끝내는 흐름이에요.

도움말실제 데이터에서 개인정보를 가리는 용도라면, 바꾸기 결과를 복사해 쓰기 전에 일치 개수가 예상한 건수와 같은지 먼저 확인하세요. 하이픈 없이 적힌 번호처럼 패턴에서 벗어난 줄은 그대로 남아요.

주의할 점

더 궁금한 점

이름 붙인 그룹 (?<name>…)도 되나요?

패턴으로는 동작하지만, 표에는 이름 대신 순서대로 $1, $2 열로 보여 줘요.

i 플래그를 켜면 한글 검색도 달라지나요?

한글에는 대소문자가 없어서 결과가 같아요. 영문이 섞인 이메일·주소를 찾을 때만 차이가 나요.

y 플래그는 무엇인가요?

바로 앞 일치가 끝난 자리에서만 다음 일치를 찾아요. 그 자리에서 실패하면 뒤에 일치할 곳이 있어도 거기서 멈춰요.

정규식을 바로 시험해 보기

정규표현식(Regular Expression)은 ‘숫자 3자리-4자리-4자리’ 같은 글자 패턴을 찾아내는 작은 언어예요. 개발, 데이터 정리, 엑셀·구글 시트의 REGEX 함수, 텍스트 편집기의 찾아 바꾸기에서 많이 쓰지만 한 글자만 틀려도 엉뚱하게 동작해요. 이 도구는 패턴을 입력하는 즉시 일치하는 부분을 색으로 표시하고, 위치와 괄호로 묶은 그룹 값을 표로 보여 줘서 패턴이 의도대로 동작하는지 바로 확인할 수 있어요.

플래그

바꾸기와 자주 쓰는 패턴

‘바꾸기’에 글을 적으면 일치한 부분을 바꾼 결과를 미리 보여 줘요. $1, $2는 첫 번째, 두 번째 괄호 그룹, $&는 일치한 전체예요. 예를 들어 전화번호 패턴에 $1-****-$3을 넣으면 가운데 번호를 가려요. 휴대전화, 이메일, URL, 날짜, 우편번호, 한글, HTML 태그 같은 자주 쓰는 패턴은 목록에서 골라 바로 시험해 볼 수 있어요. 이 패턴들은 흔한 형식을 찾는 용도이고, 모든 예외를 완벽히 검증하지는 않아요.

이 도구는 브라우저(자바스크립트)의 정규식 엔진을 써요. 파이썬, 자바, 엑셀의 정규식과 문법이 대부분 같지만 일부 기능(뒤쪽 살피기, 이름 붙인 그룹 표기 등)은 다를 수 있어요. 잘못 만든 패턴이 너무 오래 걸리면 1초 뒤 자동으로 멈춰서 페이지가 멈추지 않게 해요. 글은 서버로 보내지 않아요.

자주 묻는 질문

\d가 한글 숫자도 찾나요?

아니요. \d는 0~9만 찾아요.

한 글자 한글은 어떻게 찾나요?

[가-힣]을 쓰세요. 자음·모음까지 포함하려면 [ㄱ-ㅎㅏ-ㅣ가-힣]이에요.

엑셀에서 쓸 수 있나요?

엑셀 365의 REGEXTEST·REGEXEXTRACT 함수에서 대부분 그대로 쓸 수 있어요.

함께 쓰면 좋은 도구