무료 정규식 테스터 — 패턴을 웹에서 디버그하고 일치 확인하기
정규 표현식을 모든 텍스트에 즉시 온라인 테스트합니다. 일치 강조, 캡처 그룹, 치환 미리보기, 분할, 설명 지원. JavaScript 정규식, 100% 비공개, 가입 없음.
정규식 테스터란 무엇인가요?
정규식 테스터(정규 표현식 테스터)는 정규식 패턴을 작성하고 테스트 텍스트를 붙여넣은 뒤, 코드를 다시 컴파일하거나 스크립트를 실행하지 않고도 패턴이 정확히 무엇에 일치하는지 — 캡처 그룹, 치환 미리보기, 플래그 분해와 함께 — 볼 수 있게 해 주는 도구입니다. 개발자에게는 반복 주기를 분 단위에서 밀리초 단위로 줄여 줍니다. 패턴을 다듬고, 강조가 움직이는 모습을 보고, 자신감을 가지고 정규식을 출시할 수 있습니다.
정규 표현식은 텍스트 패턴을 기술하는 간결한 언어입니다. `\d+`는 하나 이상의 숫자에 일치합니다. `[A-Za-z_]\w*`는 일반적인 식별자에 일치합니다. `(?
본 테스터는 모든 최신 브라우저에 탑재된 네이티브 ECMA-262 RegExp 엔진을 사용합니다. JavaScript, TypeScript, Node.js, Deno, Bun에서 호출하는 동일한 엔진입니다. 즉, 캡처 그룹(번호 및 `(? 원시 일치 외에 테스터가 표면화하는 것: 일치 결과 & 캡처 그룹 패널은 모든 일치를 [start, end) 오프셋과 함께 나열하고 각 캡처 그룹의 값을 보여 줍니다. /d 플래그를 사용한 `String.prototype.matchAll`에서 얻을 수 있는 것과 동일한 정보지만, 시각적으로 훑어보기 쉽게 배치되어 있습니다. 치환 탭은 $1 / $& / $` / $' / $$ / $ 프라이버시: 모든 동작이 로컬입니다. 패턴과 테스트 텍스트는 페이지를 벗어나지 않습니다. 로그에 남지 않고, 분석 서비스로 전송되지 않으며, 디스크에 저장되지도 않습니다. UI 설정(활성 탭과 자주 켜 두는 플래그)만 localStorage에 유지됩니다. 그래서 본 도구는 마스킹한 로그 샘플, 사내 패턴, 내부 설정, 데이터 스키마에 대한 단서가 포함된 패턴에도 안전합니다. regex101 같은 서버 기반 테스터와 비교하면 프라이버시와 지연 면에서 엄밀히 더 낫습니다. 트레이드오프는 단일 계열 지원(JavaScript만)입니다. 정규식이 처음이라면 일반 패턴 드롭다운에 입증된 시작 패턴이 준비되어 있습니다. 이메일 주소, URL, IPv4, UUID, 16진 색상, ISO 날짜, 미국 전화번호, 그리고 후행 공백 제거 패턴입니다. 하나를 불러와 제공된 샘플 텍스트에 대한 일치를 관찰한 뒤, 패턴을 한 글자씩 변형하면서 엔진이 어떻게 반응하는지 체감해 보십시오. 정규식 기반 정리의 전후를 비교하고 싶다면 텍스트 비교를, 입력이나 기대 출력이 JSON이라면 JSON 포맷터를, 일치 대상 문자열이 URL 인코딩되어 있다면 URL 인코더를 함께 사용하십시오.
// The pattern you build in this tester drops straight into JavaScript.
// Example: extract every ISO date from a string with named groups.
const pattern = /(?<year>\d{4})-(?<month>\d{2})-(?<day>\d{2})/g;
const text = 'shipped 2026-05-21, scheduled 2026-06-30';
for (const m of text.matchAll(pattern)) {
console.log(m.groups.year, m.groups.month, m.groups.day);
// → 2026 05 21
// → 2026 06 30
}
// Same regex, used in a replace with $<name> templates:
text.replace(pattern, '$<day>/$<month>/$<year>');
// → 'shipped 21/05/2026, scheduled 30/06/2026'
// With the /d flag, every match carries [start, end] indices
// per capture group — the Matches panel uses this to paint offsets.
const p2 = /(?<year>\d{4})-(?<month>\d{2})/gd;
const m = [...text.matchAll(p2)][0];
m.indices.groups.year; // [8, 12] 주요 기능
실시간 일치 강조
패턴이 파싱되는 즉시 테스트 텍스트의 모든 일치가 빛납니다. 교차 색상 덕분에 인접한 일치도 시각적으로 세기 쉽고, 결과 위의 카운트 배지가 정확한 총합을 알려 줍니다. 실행 버튼도 없고, 200ms를 넘는 디바운스 지연도 없습니다.
캡처 그룹 사이드 패널
우측의 일치 결과 & 캡처 그룹 패널은 각 일치를 카드로 나열합니다. [start, end) 오프셋, 전체 일치 텍스트, 그리고 그 안의 모든 위치 기반 + 이름 있는 캡처 그룹을 보여 줍니다. 이름 있는 그룹은 $
$1 / $& / $을 지원하는 실시간 치환 미리보기
치환 탭으로 전환해 치환을 실시간으로 적용된 모습을 보십시오. 전체 ECMAScript 치환 알파벳이 동작합니다. 위치 기반의 $1..$N, 이름 기반의 $
정규식 경계로 분할
분할 탭은 사용자의 정규식으로 String.prototype.split을 호출하고 각 부분을 번호 매긴 목록으로 보여 줍니다. 빈 부분은 ⏎ 글리프로 렌더링되어 인접한 구분자를 엔진이 어떻게 처리했는지 볼 수 있습니다. CSV 유사 입력 정리를 디버그할 때 유용합니다.
패턴 설명기(토큰 단위)
설명 탭은 패턴을 토큰화해 클래스(이스케이프 / 수량자 / 문자 클래스 / 그룹 / 앵커 / 대체)별로 색상이 입혀진 칩으로 만들고, 각 칩에 한 줄 설명을 답니다. 출시 전에 자신의 정규식을 자기 자신에게 다시 읽어 주십시오. 코드 리뷰나 교육에도 활용하십시오.
ReDoS 안전(벽시계 타임아웃)
모든 일치 호출은 250밀리초 예산으로 감싸여 있습니다. `(a+)+`, `(a|aa)+b`, 깊게 중첩된 수량자 같은 전형적인 치명적 백트래킹 형태는 패턴 시간 초과 경고와 함께 깨끗하게 중단됩니다. 페이지는 탭을 잠그는 대신 응답 상태를 유지합니다. 서버 측 샌드박스 없이도 감지할 수 있습니다.
일반 패턴 라이브러리
개발자가 가장 자주 손이 가는 여덟 가지 패턴에 대한 입증된 시작 패턴: 이메일, URL, IPv4, UUID v4, 16진 색상, ISO 날짜, 미국 전화번호, 후행 공백 제거. 각 패턴은 일치하는 샘플과 함께 로드되어, 변형하기 전에 정규식이 동작하는 모습을 볼 수 있습니다.
영구 링크 공유(업로드 없음)
링크 복사는 패턴 + 플래그 + 샘플 텍스트를 URL 해시(#p=…&f=gim&t=…)에 인코딩합니다. 브라우저는 URL 프래그먼트를 요청에 담아 전송하지 않으므로, 공유된 링크는 go-tools.org 서버를 거치지 않고 수신자의 기기에서 상태를 재현합니다. 자기 완결적이며 감사에 친화적입니다.
100% 비공개, 브라우저 전용
사용자의 정규식과 테스트 텍스트는 기기를 벗어나지 않습니다. 네트워크 요청도, 로그도, 입력 분석도 없습니다. DevTools → Network에서 직접 확인하십시오. 입력해도 요청이 한 건도 발생하지 않습니다. 사내 패턴, 마스킹한 로그, regex101에 붙여넣고 싶지 않은 모든 텍스트에 안전합니다.
실전 예시
단락에서 모든 이메일 주소 추출
[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,} /[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}/g /g 플래그를 켠 상태에서 패턴을 붙여넣고, 테스트 텍스트에 단락을 넣으면 모든 이메일이 강조된 뷰에서 빛납니다. 우측의 일치 결과 & 캡처 그룹 패널은 각 주소를 [start, end) 오프셋과 함께 나열합니다. 동일한 정규식을 grep, sed, 코드 편집기로 흘려보낼 때 유용합니다.
이름 있는 그룹으로 날짜 구성 요소 캡처
(?<year>\d{4})-(?<month>\d{2})-(?<day>\d{2}) /(?<year>\d{4})-(?<month>\d{2})-(?<day>\d{2})/g ECMA-262 이름 있는 그룹은 우측 패널에 $
$1 역참조로 찾아 치환
(\w+) (\w+)
치환 템플릿: $2, $1 → Jack Doe → Doe, Jack
이름 없는 캡처 그룹 두 개, 치환 템플릿 $2, $1, 그리고 치환 탭은 실시간 미리보기를 보여 줍니다. $&, $`, $', $$, $
줄 단위로 후행 공백 제거
[ \t]+$
/[ \t]+$/gm
/g (전역)과 /m (다중 행) 플래그를 결합하면 $가 입력 끝뿐 아니라 모든 줄 끝에 고정됩니다. 빈 치환을 적용한 치환 탭 미리보기에 깨끗한 차이가 표시됩니다. 후행 탭과 공백은 사라지고 본문은 그대로 남습니다. /s (dotAll) 플래그가 꺼져 있으면 .은 줄바꿈을 넘지 않습니다.
치명적 백트래킹 감지와 안전한 처리
(a+)+b
테스트 텍스트: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaac
중첩된 + 수량자는 전형적인 ReDoS 패턴을 만듭니다. 순진한 테스터에서는 탭이 멈춥니다. 본 도구는 250ms의 벽시계 가드가 발동하면서 패턴 시간 초과 배너가 나타나고 페이지는 응답 상태를 유지합니다. 패턴을 고정하거나, 중복 없는 대체로 바꾸거나, 원자 그룹 유사 표현을 사용한 뒤 다시 테스트하십시오.
혼합 구분자로 CSV 유사 줄 분할
[,;|]\s*
alpha, beta; gamma | delta → ["alpha", "beta", "gamma", "delta"]
분할 탭으로 전환하십시오. 쉼표, 세미콜론, 파이프 뒤에 선택적 공백이 오면 모두 분할 경계가 됩니다. 복사·붙여넣기한 태그 목록을 정리하거나, 사용자 입력을 정규화하거나, 실제 CSV 파서에 넣기 전에 로그 필드를 전처리할 때 유용합니다. 데이터가 정말로 RFC 4180이라면 CSV to JSON을 참고하십시오.
정규식 테스터 사용 방법
- 1
슬래시 사이에 패턴을 입력하십시오
ECMA-262 정규 표현식을 /…/ 입력란에 넣으십시오. 잘못된 패턴은 파서 메시지와 함께 빨간색으로 강조됩니다. 유효한 패턴은 실시간 일치로 이어집니다.
- 2
필요한 플래그를 토글하십시오
g (전역), i (대소문자 무시), m (다중 행), s (dotAll), u (유니코드), y (sticky), d (인덱스). 각 칩은 켜져 있을 때 빛납니다. 패턴 우측의 표시 영역에 정규 형식의 리터럴이 보입니다.
- 3
테스트 텍스트를 붙여넣으십시오
입력하는 동안 일치가 교차 색상으로 강조됩니다. 우측의 일치 결과 & 캡처 그룹 패널은 모든 일치를 [start, end) 오프셋과 함께 나열하고 각 캡처 그룹의 값(이름 있는 그룹은 $
으로 라벨)을 보여 줍니다. - 4
치환, 분할, 설명을 위해 탭을 전환하십시오
치환은 입력 옆에 치환 템플릿을 미리 봅니다. 분할은 모든 일치 경계에서 텍스트를 잘라냅니다. 설명은 패턴을 토큰 단위로 분해해 요소마다 평이한 한국어 설명을 제공합니다.
- 5
리터럴을 복사하거나 영구 링크를 공유하십시오
/pattern/flags 복사는 JavaScript / TypeScript / Node에서 그대로 사용할 수 있는 정규 형식의 정규식 리터럴을 클립보드로 옮깁니다. 링크 복사는 전체 상태를 URL 해시(업로드 없음)에 인코딩하므로 동료가 로컬에서 그대로 재현할 수 있습니다.
흔한 정규식 실수
/g 플래그를 잊어 일치가 하나만 나옴
/g (또는 /y) 없이 엔진은 첫 일치 후 멈춥니다. match, matchAll, replace, split 메서드는 모두 전역 플래그를 두고 다르게 동작합니다. /g를 토글해 다시 실행하면 결과 위의 카운트가 1에서 N으로 뜁니다.
패턴: /\d+/ → '1 22 333'은 ['1']만 반환
패턴: /\d+/g → '1 22 333'은 ['1', '22', '333'] 반환
탐욕적 수량자가 과하게 소비함
`.+`는 가능한 한 많이 소비하므로, `<.+>`를 ` and `에 적용하면 ``가 아니라 ` and `를 캡처합니다. 게으른 수량자(`.+?`), 더 제한적인 문자 클래스(`[^>]+`)를 사용하거나, 주변 탐색으로 고정하십시오.
패턴: /<.+>/ → '<a> and <b>'에 일치
패턴: /<[^>]+>/ → '<a>'와 '<b>'에 각각 일치
중첩 수량자로 인한 치명적 백트래킹
`(a+)+b`를 긴 실패 문자열에 적용하면 지수적으로 폭발합니다. 패턴 시간 초과 배너가 250ms 후에 발동합니다. 중첩을 제거하도록 다시 작성하십시오. `a+b`는 같은 일을 선형 시간에 수행합니다. 원자 그룹 시뮬레이션 `(?=(a+))\1b`도 대안입니다.
패턴: /(a+)+b/ 적용: 'aaaaaaaaaaaaaaaaaaaaac' → 타임아웃
패턴: /a+b/ 같은 입력 → 즉시 '일치 없음'
$와 ^가 Python의 \A, \Z처럼 동작하지 않음
JavaScript에서 `^`와 `$`는 /m이 켜져 있을 때만 줄 시작 / 줄 끝을 의미합니다. 그렇지 않으면 문자열 시작 / 문자열 끝입니다. 항상 문자열 경계를 의미하는 Python의 `\A`와 `\Z`는 JS에 없습니다. 필요에 따라 /m을 토글하십시오.
패턴: /^Error/ /m 없이 다중 행 로그에 적용 → 첫 줄만 일치
패턴: /^Error/m 같은 입력 → Error로 시작하는 모든 줄에 일치
문자열에 $1을 사용했지만 replace를 함수로 호출
`text.replace(re, '$1')`은 역참조를 전개합니다. `text.replace(re, () => '$1')`은 함수가 템플릿 토큰을 보지 않으므로 리터럴 문자열 '$1'을 전달합니다. 함수 안에서는 캡처 그룹이 위치 기반 인자로 도착합니다.
text.replace(/(\w+)/, m => '$1') → 리터럴 '$1' 반환
text.replace(/(\w+)/, (_, g1) => g1.toUpperCase()) → 캡처를 사용
\w나 .이 유니코드 문자에 일치하지 않음
기본 `\w`는 `[A-Za-z0-9_]`입니다. 모든 문자 체계의 모든 글자에 일치하려면 /u를 켜고 `\p{Letter}` (`\p{L}`)로 전환하십시오. 점도 기본적으로 줄 바꿈에서 멈춥니다. 진정한 임의 문자가 필요하다면 /s (dotAll)를 사용하십시오.
패턴: /\w+/ 'hello'에 일치하지만 'héllo'나 '안녕'에는 일치하지 않음
패턴: /\p{Letter}+/u 세 가지 모두에 일치 PCRE 패턴을 붙여넣었더니 SyntaxError 발생
JavaScript는 원자 그룹 `(?>...)`, 소유 수량자 `a++`, 인라인 수정자 `(?i)`, 조건부 `(?(1)yes|no)`, 그리고 `\A` / `\Z`를 지원하지 않습니다. 파서 오류가 문제의 구성 요소를 짚어 주므로, JS에서 지원하는 동등한 표현(주변 탐색 시뮬레이션, 별도 플래그 토글, 대체)으로 다시 작성하십시오.
패턴: (?i)foo → SyntaxError: invalid group
패턴: foo에 /i 플래그를 켠 상태 → 같은 효과
이 도구를 사용하는 사람들
- 출시 전에 폼 입력 검증
- 이메일 / 전화 / 우편번호 / 사용자명 정규식이 기대한 값에 일치하고 그렇지 않은 값을 거부하는지 — 엣지 케이스(유니코드 이름, 플러스 별칭, 국제 형식)까지 — 검증이 프로덕션에 도달해 실제 사용자를 튕겨내기 전에 확인하십시오.
- 로그와 설정에서 데이터 추출
- 임의의 로그 슬라이스에서 요청 ID, 상태 코드, 지연 시간, 스택 트레이스 줄을 뽑아내는 패턴을 만드십시오. 이름 있는 그룹이 데이터를 자기 문서화로 만들고, 일치 결과 패널이 오프셋을 보여 주므로, 이후 동일한 정규식을 `rg --replace`나 `grep -oE`로 흘려보낼 수 있습니다.
- 코드베이스 전반의 찾아 치환
- 리팩토링 패턴 초안(예: `(\w+)\.apply\(null,\s*\[(.*?)\]\)` → `$1($2)`)을 여기서 작성하고, 대표 스니펫에 대한 치환을 미리 본 뒤, 검증된 정규식을 편집기의 프로젝트 전역 찾아 바꾸기에 자신감을 가지고 붙여넣으십시오.
- 온라인에서 찾은 패턴 점검
- StackOverflow나 블로그에서 가져온 정규식을 설명 탭에 넣으십시오. 모든 토큰에 평이한 한국어 주석이 붙습니다. `.+`를 원했는데 `.+?`로 쓰여 있거나, `^`/`$` 앵커가 빠졌거나, 의도치 않게 탐욕적인 수량자처럼 미묘한 문제를 정규식이 코드에 들어가기 전에 잡아냅니다.
- 팀원에게 정규식 가르치기
- 동작하는 패턴에 설명 탭을 열고 토큰 단위로 함께 살펴보십시오. 색상 코딩(이스케이프 / 수량자 / 문자 클래스 / 그룹 / 앵커 / 대체)으로 학습자는 문자 자체가 아니라 정규식의 구조적 형태를 볼 수 있습니다.
- 언어 간 패턴 이식
- JavaScript에서 사용해야 할 Python이나 PCRE 정규식이 있나요? 여기에 붙여넣으십시오. 파싱되면 설명기가 JS에서 동등한 의미를 보여 주고, 파싱되지 않으면 파서 오류가 문제의 구성 요소(원자 그룹, 소유 수량자, 인라인 `(?i)`)를 짚어 주어 무엇을 다시 작성해야 하는지 정확히 알 수 있습니다.
- 느린 프로덕션 정규식 디버그
- 서버 정규식에 치명적 백트래킹이 의심된다면 입력 샘플과 함께 본 테스터에 붙여넣으십시오. 250ms 벽시계 가드가 병적 사례에서 발동하여 프로파일러 도구에 손을 뻗기 전에 즉각적인 진단을 제공하고, 설명기는 중첩 수량자 근본 원인을 가리킵니다.
엔진 & 알고리즘 노트
- ECMA-262 RegExp 엔진(네이티브 브라우저)
- `new RegExp(pattern, flags)`와 V8 / JavaScriptCore / SpiderMonkey에 탑재된 엔진을 사용합니다. JavaScript 어디서나 얻는 정규식 의미와 동일합니다. 여기서 검증된 패턴은 Node.js, Deno, Bun, 모든 최신 브라우저에서 변경 없이 동작합니다.
- String.matchAll을 통한 일치 순회
- 전역 순회는 수동 lastIndex 루프가 아니라 `text.matchAll(regex)`를 사용하므로, 모든 일치가 캡처 그룹, 이름 있는 그룹, /d와 함께 [start, end] 인덱스를 모두 포함합니다. 너비 0 일치는 무한 루프를 피하기 위해 표준 +1 lastIndex 진행으로 처리됩니다.
- ReDoS 보호를 위한 벽시계 타임아웃
- 250밀리초 예산이 모든 일치, 치환, 분할 호출을 감쌉니다. 엔진은 단일 일치 시도 내에서는 여전히 내부적으로 백트래킹할 수 있지만, 외부 순회는 예산과 협력합니다. 병적 패턴은 `timedOut: true`로 중단되고 UI가 탭을 잠그는 대신 경고를 표면화합니다.
- 치환 템플릿 재구현
- 치환 탭은 $1..$N, $&, $`, $', $$, $
을 `String.replace`에 위임하지 않고 직접 파싱하므로, 이름 있는 그룹 템플릿에 엣지 케이스가 있는 엔진(구형 Safari, 구형 Node)에서도 미리보기가 동일하게 동작합니다. 출력은 현재 JavaScript 엔진이 만들어 내는 결과와 정확히 같습니다. - 설명기를 위한 패턴 토크나이저
- 설명 탭은 직접 작성한 토크나이저를 실행해 각 패턴 조각을 분류합니다(이스케이프 / 메타 문자 / 수량자 / 문자 클래스 / 그룹-열기 / 그룹-닫기 / 앵커 / 대체). 익숙하지 않은 구성 요소는 일반 주석과 함께 `literal`로 떨어지므로 설명기가 콘텐츠를 조용히 빠뜨리는 일이 없습니다.
- URL 해시를 통한 영구 링크(전송되지 않음)
- 공유 상태는 location.hash 프래그먼트(`#p=…&f=…&t=…&tab=…`)에 인코딩됩니다. 브라우저는 프래그먼트를 HTTP 요청에 담아 전송하지 않으므로, 영구 링크가 열리더라도 go-tools.org 서버는 데이터를 한 건도 받지 않습니다. 복원은 전적으로 수신자의 기기에서 이루어집니다.
정규식 모범 사례
- 의도할 때만 패턴을 고정하라
- `^pattern$`은 정확한 문자열에 일치하고, `pattern`은 어디서든 일치합니다. 잘못된 선택은 폼 검증에서 가장 흔한 버그입니다. `^`가 빠지면 선두의 `attacker.com/`이 도메인 검사를 통과해 슬쩍 들어옵니다. `$`가 빠지면 후행 쓰레기가 통과합니다. 일부러 깨뜨린 샘플에 대해 일치 탭을 사용해 무엇이 거부되는지 확인하십시오.
- 순수 구조에는 비캡처 그룹을 선호하라
- `(?:foo|bar)+`와 `(foo|bar)+`는 기능상 동일하지만, 앞쪽은 캡처 그룹을 할당하지 않습니다. 그룹이 수량자나 대체를 위해서만 존재한다면 `(?:…)`에 손을 뻗으십시오. 번호 기반 $1..$N이 안정적으로 유지되고 엔진의 일도 약간 줄어듭니다.
- ASCII 이상에는 /u 플래그를 사용하라
- /u 없이 점과 `\w`는 서러게이트 페어 문자(이모지, 비BMP 코드 포인트)를 두 개의 UTF-16 단위로 처리합니다. /u가 있으면 각 한 개의 코드 포인트입니다. 사용자가 인식하는 방식 그대로입니다. /u는 `\p{Letter}`와 다른 속성 이스케이프도 활성화합니다. 특별한 이유가 없다면 새 패턴에는 기본으로 /u를 사용하십시오.
- 캡처 그룹에 이름을 붙이라
- `(?
\d{4})-(? \d{2})`는 자기 문서화입니다. 6개월 뒤 정규식을 다시 읽었을 때 `m.groups.year`는 명백히 연도이지만 `m[1]`은 그렇지 않습니다. $ 으로 작성한 치환 템플릿은 그룹 순서 변경에서도 살아남습니다. 위치 기반 템플릿은 누군가 그룹을 하나 추가하는 순간 깨집니다. - 성공뿐 아니라 실패 사례도 테스트하라
- 정규식 테스터는 실패를 위한 도구입니다. 패턴이 일치하는 것을 확인한 뒤, 테스트 텍스트를 의도적으로 변형해 일치하지 않는 것이 무엇인지 보십시오. 선행 공백, 후행 공백, 누락된 부분, 추가된 부분, 잘못된 대소문자, 혼합 문자 체계입니다. 유효한 입력은 통과시키지만 쓰레기도 받아들이는 패턴이 프로덕션이 가장 먼저 노출하는 버그입니다.
자주 묻는 질문
제 정규식이나 테스트 텍스트가 서버로 전송되나요?
이 테스터는 어떤 정규식 계열을 사용하나요 — PCRE, Python, Java, JavaScript?
g, i, m, s, u, y, d 플래그는 각각 무엇을 하나요?
캡처 그룹을 어떻게 작성하고 어떻게 다시 참조하나요?
전방·후방 탐색은 어떻게 동작하고, 어디에 좋은가요?
정규식이 왜 브라우저를 멈추게 하나요? 치명적 백트래킹이란 무엇인가요?
이 정규식 테스터는 regex101.com과 어떻게 다른가요?
. | ( ) [ ] { } * + ? ^ $ \ 같은 특수 문자를 어떻게 이스케이프하나요?
동료에게 링크로 정규식을 공유할 수 있나요?
유니코드, 이모지, 비라틴 문자도 지원하나요?
정규식과 함께 사용하는 .match, .matchAll, .replace, .split의 차이는 무엇인가요?
왜 Python이나 Java 정규식이 여기서 동작하지 않나요?
텍스트 크기나 일치 개수의 최댓값이 있나요?
관련 도구
모든 도구 보기 →텍스트 비교 및 차이 분석
텍스트 도구
두 텍스트를 브라우저에서 즉시 비교. 좌우 대조 뷰, 인라인 단어 단위 하이라이트, 통합 diff 출력, 대소문자/공백/빈 줄 무시. 100% 브라우저 처리, 업로드 없음.
무료 글자 수 세기 & 단어 카운터
텍스트 도구
단어, 문자, 문장, 단락 수와 읽기 시간을 즉시 계산합니다. Twitter, 메타 설명, Instagram 길이 제한 검사를 실시간으로 지원하는 무료 브라우저 카운터입니다.
진법 변환기 (Number Base Converter)
변환 도구
2진수, 16진수, 10진수, 8진수 및 임의 진법(2-36)을 즉시 변환합니다. 온라인에서 무료로 사용할 수 있으며 모든 처리는 브라우저에서 이루어집니다.
Base64 디코더 · 인코더 (Base64 Decoder & Encoder)
인코딩 & 포매팅
Base64를 온라인에서 무료로 인코딩하고 디코딩합니다. UTF-8과 이모지를 완벽 지원하는 실시간 변환으로, 100% 브라우저에서 처리되어 회원 가입이 필요 없습니다.
crontab 생성기 & cron 표현식 빌더
날짜 & 시간
브라우저에서 cron 표현식을 만들고 검증·해석합니다. 로컬 또는 UTC로 다음 실행을 미리 보고, POSIX 5필드 문법과 프리셋을 온라인에서 무료로 사용합니다.
CSV to JSON 변환기 (CSV to JSON Converter)
인코딩 & 포매팅
브라우저에서 CSV를 JSON으로 변환합니다. RFC 4180, 타입 추론, 헤더 행, 큰 정수 안전 처리. 100% 비공개, 업로드 없음.