Volade 생태계 — 웹 도구

정규표현식 테스터

온라인에서 정규표현식을 즉시 테스트하세요. 입력할 때마다 텍스트가 하이라이트되고, 일치 표에 인덱스·길이·캡처 그룹이 표시됩니다. 치환 탭은 $1과 $&로 패턴을 적용하고, 설명 탭은 패턴을 요소별로 분해하며, 성능 탭은 ReDoS 위험을 측정합니다. 무료에 가입도 필요 없고 100% 로컬입니다 : 텍스트는 브라우저 밖으로 나가지 않습니다.

6 테스트 모드0 서버로 전송된 바이트10 바로 쓰는 예제
이 도구

나만의 온라인 정규표현식 테스터

패턴을 입력하고, 플래그를 선택하고, 텍스트를 붙여넣으세요 : 일치 항목이 하이라이트와 표로 나타납니다. «변환» 버튼은 필요 없습니다.

정규표현식 테스터

온라인 개발, 코드 & 데이터
로그인
단축키 : Ctrl+Enter 다시 계산
준비 완료.

                  
일치 항목은 입력에 따라 원본 텍스트 위에 하이라이트됩니다.
#일치인덱스길이그룹
입력 중 분석, 치환, 설명 · Ctrl+Enter 활성 탭을 다시 계산 · 네트워크 전송 없음 · 100% 로컬, 기기를 떠나는 것 없음.
0,0 0댓글 모든 도구
무료와 Premium의 차이가 뭔가요?

정규표현식 테스터는 무료이고 무제한입니다 : 계정도, 설치도, 네트워크 전송도 없습니다. Premium은 Volade 생태계 전체를 열어 줍니다.

무료하이라이트, 일치 표, 캡처 그룹
무료$1, $&, 이름 지정 그룹을 이용한 패턴 치환
무료패턴 설명, 예제 라이브러리, 치트시트
Premium패턴과 테스트 조각의 암호화된 클라우드 동기화
Premium생태계 도구 간에 공유되는 API와 스크립트 접근
Premium 잠금 해제
기능

제한 없이 정규표현식 테스트, 치환, 설명

하나의 엔진이 분석과 치환, 패턴 이해를 모두 담당합니다 — 기기를 떠날 일이 단 한 번도 없습니다.

하이라이트와 일치 표

각 일치 항목은 원본 텍스트에서 하이라이트되고, 인덱스·길이·번호 또는 이름 붙은 각 캡처 그룹의 값과 함께 목록에 표시됩니다. 여러 가지 까다로운 경우도 처리합니다 : 일치가 없는 패턴, 수 메가바이트짜리 입력, 길이 0의 일치, 그리고 필드 아래에 안내되는 2 000건 결과 상한까지.

패턴 테스트

그룹을 이용한 치환

치환 탭은 원본 텍스트에 패턴을 적용하고 출력을 실시간으로 보여 줍니다. $1과 $2는 캡처 그룹을 다시 넣고, $&는 전체 일치, $<nom>은 이름 지정 그룹입니다. 치환 횟수는 따로 집계되며, 플래그 g가 없어 첫 번째 일치만 치환되는 경우라면 도구가 필드 아래에서 알려 줍니다.

텍스트 치환

설명, 예제, 성능

설명 탭은 패턴을 클래스, 이스케이프, 그룹, 전방·후방 탐색, 한정자로 나누고 각각에 의미와 예제를 보여 줍니다. 예제 탭은 검증된 열 개의 패턴 — 이메일, URL, 날짜, IPv4, 강력한 비밀번호 — 을 로드하고, 성능 탭은 실제 실행 시간을 측정해 치명적인 백트래킹 위험을 잡아냅니다.

모드 둘러보기
작동 방식

세 단계로 패턴을 쓰고, 확인하고, 고치기

설치도, 가입도 없습니다 : 모바일이든 데스크톱이든 도구는 늘 준비되어 있습니다.

패턴 입력하기

공용 필드에 정규표현식을 입력하고 필요한 플래그를 선택하세요. 결과는 입력할 때마다 다시 계산됩니다. 문법 오류는 브라우저의 원시 메시지 대신 필드 아래에 설명으로 표시됩니다 — 닫히지 않은 괄호, 열려 있는 클래스, 대상 없는 한정자 같은.

텍스트 붙여넣기

텍스트가 하이라이트되고 일치 표도 동시에 채워집니다. 모두가 건너뛰는 단계이자, 대부분의 잘못된 패턴이 드러나는 단계입니다 : 빠진 앵커, 대소문자를 다루지 못한 조건, 개행을 삼키지 못하는 점.

설명하고, 그다음 측정

«설명»으로 옮겨 패턴을 한 줄씩 읽고 고친 뒤, «성능»에서 실행 시간이 ReDoS 위험을 알리는 250 ms에서 한참 멀리 있는지 확인하세요. 로컬 기록은 최근 패턴을 보관하므로 클릭 한 번으로 다시 불러올 수 있습니다.

빠른 참조

한눈에 보는 정규표현식

대부분의 개발자가 패턴을 읽기 전에 확인하는 것들 — «치트시트» 탭의 전체 치트시트와 함께.

요소의미예제
.모든 문자, 개행 제외a.c → abc
\d10진 숫자\d{3} → 123
\w문자, 숫자, 밑줄\w+ → volade_1
\s공백, 탭, 줄바꿈\s+ → «  »
^ $문자열의 시작과 끝^abc$ → abc
*0회 이상, 탐욕적 버전ab*c → ac, abbc
+1회 이상ab+c → abc
?0회 또는 1회colou?r → color, colour
{n,m}n회에서 m회\d{2,4} → 1234
(...)캡처 그룹(ha)+ → haha

«정규표현식을 테스트한다»는 무슨 뜻인가요?

정규표현식 테스트 (« regex test online », « tester regex javascript »)는 실제 텍스트에 패턴을 실행해 엔진이 정확히 무엇을 돌려보내는지 관찰하는 것입니다 : 일치한 문자열, 그 위치, 캡처 그룹의 값. « 맞아 보이는 » 패턴은 당신의 데이터에서 돌아가기 전까지는 아무 말도 하지 않습니다 — 튜토리얼 속 정규표현식과 운영용 정규표현식을 가르는 유일한 차이가 바로 그것입니다.

테스트는 서로 다른 세 가지 질문에 답합니다. 일치하는가 : 일치 표가 곧바로 한 줄로 답해 줍니다. 어디에서, 몇 번 : 인덱스와 길이가 앵커가 제자리였는지 보여 줍니다. 무엇을 캡처하는가 : 번호 또는 이름 붙은 그룹이 뽑아내려던 부분을 제대로 뽑았는지 드러냅니다.

차이를 만드는 메타문자

점 . 개행을 제외한 모든 문자에 일치합니다. 그래서 여러 줄 텍스트에서는 플래그 s 없이는 안 됩니다. 한정자 *, + 그리고 ? 모두 탐욕적입니다 : 충분한 반복 횟수의 첫 번째에서 멈춥니다. 접미사 ? (*?, +?, {2,5}?)는 이 동작을 뒤집어 게으른 버전, 거의 항상 택해야 하는 경우는 .* 가 줄 끝을 삼키는 상황입니다.

대괄호는 클래스를 정의합니다 : [abc] 목록된 문자 중 하나를 받습니다, [^abc] 그 외 전부, [a-z0-9] 범위입니다. 클래스 처음의 부정에는 주의하세요 — [^...] 첫 위치에서만 유효하며, 그렇지 않으면 ^ 는 다시 리터럴이 됩니다. 파이프 | 는 대안을 나누고 낮은 우선순위로 동작합니다 : ^cat|dog$ 는 «전체 텍스트가 cat» 또는 «전체 텍스트가 dog»라는 뜻이지 «처음이나 끝에 cat 또는 dog»는 아닙니다 — 이때는 그룹으로 묶어야 합니다 : ^(?:cat|dog)$.

그룹, 전방 탐색과 후방 탐색

괄호는 캡처합니다. 그룹 1은 $1 는 치환 쪽, \1 는 패턴 쪽. 이름 지정 그룹은 $<nom> 그리고 \k<nom> — 세 그룹부터는 훨씬 읽기 쉽습니다. (?:...) 는 번호를 만들지 않고 묶습니다. 캡처가 아니라 구조만 필요할 때는 이쪽을 택하세요.

전방·후방 탐색(lookaround)은 소비하지 않고 검사합니다 : (?=...) 는 뒤따르는 것이 일치해야 하고, (?!...) 는 그것을 금지하며, (?<=...) 그리고 (?<!...) 는 앞선 내용에도 같은 검사를 합니다. 이렇게 하면 캡처에 포함시키지 않으면서 비밀번호에 특수문자를 강제할 수 있습니다 : ^(?=.*\d)(?=.*[A-Z]).{12,}$.

ReDoS : 정규표현식이 시간폭탄이 될 때

이 ReDoS (Regular Expression Denial of Service)는 백트래킹 에서 나옵니다 : 거의 규칙에 맞는 입력 앞에서 다음과 같은 패턴 (a+)+$ 은 «a»를 쪼개는 온갖 방법을 실패하기 전까지 탐색하고, 폭발 횟수는 기하급수적으로 늘어납니다. 두 가지 습관 : 현실적인 용량으로 패턴을 테스트하는 것 — 성능 탭이 대신 해 줍니다 — 그리고 크기 제한이 없는 외부 입력에는 검증할 수 없는 정규표현식을 절대 돌리지 않는 것입니다. 서버에서는 막힌 정규표현식이 타임아웃이 될 때까지 worker 전체를 멈춥니다.

JavaScript, PCRE, Python : 같은 기초, 약간의 차이

테스터는 브라우저의 네이티브 엔진인 ECMAScript를 사용합니다. 기본 구문 — 클래스, 한정자, 그룹, 전방 탐색, 플래그 g i m s u y 는 PCRE(PHP, Perl), Python에서는 re, Java, Go에서도 공통입니다. 차이는 주로 후방 탐색(한동안 JavaScript에 없었으나 지금은 지원), Unicode 속성, 그리고 (?i), 같은 인라인 플래그(PCRE 전용)에 있습니다. 따라서 한 언어의 패턴을 다른 언어로 옮기는 것은 디테일 조정일 뿐 — 창작이 아닙니다.

이런 분께 추천

프론트엔드·백엔드 개발자(폼 검증, 로그 파싱, 데이터 마이그레이션), 운영·DevOps(구성 필터, WAF 규칙), 테스터·분석가(열 추출, 형식 검증), 편집자·데이터 분석가(파일 정리), 학생(메타문자 이해), 그리고 정규표현식 테스터 가 필요한 사람 — 빠르고, 완전하며, 비밀이 지켜지는 — 보완으로는 JSON 포매터, 그리고URL 인코더/디코더, 그리고Base64 인코더/디코더 그리고 JWT 인코더/디코더.

FAQ

정규표현식 테스터 자주 묻는 질문

패턴을 테스트하거나, 치환하거나, 설명하기 전에 알고 싶은 모든 것.

온라인에서 정규표현식은 어떻게 테스트하나요?

«정규표현식» 필드에 패턴을 입력하고, g, i, m, s, u, y 플래그를 선택한 뒤 텍스트를 붙여넣으세요. 일치 항목은 원본 텍스트에서 하이라이트되고, 인덱스·길이·각 캡처 그룹의 값과 함께 표로 목록화됩니다. 버튼 없이 입력할 때마다 다시 계산됩니다.

플래그 g, i, m, s, u, y는 무엇을 의미하나요?

g는 첫 일치뿐 아니라 모든 일치를 찾고, i는 대소문자를 무시하며, m은 ^와 $를 각 줄의 시작과 끝에서 유효하게 만들고, s는 점이 개행에도 일치하게 하며, u는 \p{L} 같은 Unicode 구문을 활성화하고, y는 정확히 커서 위치에서만 시작합니다. 이들은 JavaScript 엔진의 플래그로, PCRE와 대부분의 최신 언어가 그대로 채택하고 있습니다.

정규표현식으로 텍스트를 치환하려면?

«치환» 탭으로 옮겨 패턴과 치환 문자열을 입력한 뒤 출력을 읽으세요. $1, $2는 캡처 그룹을 다시 넣고, $&는 전체 일치, 이름을 붙인 $는 이름 지정 그룹에 대응합니다. 플래그 g가 없으면 첫 번째 일치만 치환됩니다 : 도구가 필드 아래에서 이를 상기시켜 줍니다.

정규표현식을 한 줄씩 설명하려면?

«설명» 탭은 패턴을 요소 — 클래스, 이스케이프, 그룹, 전방·후방 탐색, 한정자 — 로 나누고, 각각의 의미와 실제 일치 예제를 보여 줍니다. 프로젝트에서 물려받은 정규표현식을 이해하거나, 막 작성한 것이 정말 의도대로 동작하는지 확인하는 가장 빠른 방법입니다.

정규표현식이란 무엇이고 메타문자는 무엇인가요?

정규표현식은 문자열의 집합을 기술하는 패턴으로, 패턴 검색 엔진이 해석합니다. 메타문자 . * + ? ^ $ | ( ) [ ] { } 는 저마다의 의미를 가집니다 : 점은 어떤 문자든 대체하고, *와 +는 반복하며, ^와 $는 앵커가 되고, |는 대안을 나누며, 괄호는 캡처 그룹을 만듭니다. 나머지 문자는 모두 리터럴이고, 예약 문자는 백슬래시가 다시 리터럴로 만들어 줍니다.

ReDoS는 무엇이고 어떻게 피하나요?

ReDoS(Regular Expression Denial of Service)는 잘못 만들어진 패턴 — 보통 (a+)+ 같은 중첩 대안 — 이 거의 맞는 입력 앞에서 backtracking 시도를 기하급수적으로 늘릴 때 발생합니다. «성능» 탭은 생성된 용량에서 실행 시간을 측정하고, 패턴이 250 ms를 넘으면 위험을 알립니다. 서버에서는 입력 크기에 제한을 두고, 선형 시간 엔진을 우선하세요.

내 정규표현식이 왜 아무 일치도 반환하지 않나요?

가장 흔한 원인 : 여러 줄 텍스트에서 플래그 m 없이 쓴 ^와 $, 닫히지 않은 문자 클래스, 플래그 i가 없어 대소문자를 커버하지 못한 조건, 플래그 s 없이 개행을 삼키지 못하는 점, 그리고 관찰하는 것과 다른 것을 글자 그대로 기술한 패턴. «설명» 탭이 이런 어긋남을 1초 만에 보여 줍니다.

이 도구는 제 텍스트를 서버로 보내나요?

아니요 : 분석, 하이라이트, 치환, 설명은 모두 브라우저 안에서 실행되며, 계정도 네트워크 요청도 없고 오프라인에서도 동작합니다. 식별 정보가 담긴 애플리케이션 로그나 설정 파일, 데이터 발췌를 붙여넣기 위해 꼭 필요한 설계입니다. 패턴, 플래그, 텍스트는 기기의 로컬 저장소에 남아 있고 클릭 한 번으로 지울 수 있습니다.

100% 로컬 정규표현식 테스터 : 텍스트는 절대 컴퓨터를 떠나지 않습니다

일반적인 온라인 정규표현식 테스터와 달리 어떤 줄도 전송되지 않습니다 : 분석, 하이라이트, 치환, 설명, 성능 측정이 모두 브라우저 안에서 실행되며, 서드파티 라이브러리도 네트워크 요청도 쓰지 않습니다. 그래서 실제 애플리케이션 로그나 설정 파일, 식별 정보가 담긴 데이터 발췌를 — 오프라인이거나 공용 네트워크에서라도 — 붙여넣을 수 있습니다. 패턴, 플래그, 텍스트, 기록은 기기의 로컬 저장소에 남습니다.

라이선스 Volade Premium 는 선택적인 암호화 클라우드 동기화를 더합니다(도구와 독립적으로 동작) — 나머지는 무료·무제한, 가입 없이 그대로입니다.

하나의 프리미엄 라이선스, 여러분의 모든 웹 도구

정규표현식 테스터, JSON 포매터, URL·Base64·JWT 인코더/디코더, 생성기 그리고 수십 개의 무료 도구 — 하나의 라이선스로 Volade 생태계 전체를.

라이선스 하나, 프리미엄 생태계 전체 브라우저 · CMS · 데스크톱 · 모바일 · 스크립트 · API · 도구 · Database
라이선스 하나, 전부 프리미엄으로 전환 로그인