Toolify

정규식 테스터 (라이브 일치, 그룹, 교체)

정규식과 테스트 텍스트 입력 — 입력하면 일치 라이브 강조. 플래그(g/i/m/s/u) 토글, 캡처 그룹 검사, 교체 미리보기.

플래그
일치 (4)
Hello World, this is a Regex Tester.

작동 방식

플래그 작동

g (전역): 첫 번째 아닌 모든 일치 찾기. 모두 교체 동작에 필요. i (대소문자 무관): /[a-z]/i가 양 케이스 일치. m (다중행): ^와 $가 문자열 시작/끝 대신 줄 바꿈에서 일치. s (도탈): .가 줄 바꿈도 일치. u (유니코드): 0xFFFF 위 코드포인트(이모지, CJK 서로게이트 쌍) 적절 처리.

대부분 /g/i/m로 시작. /s/는 다중 행 텍스트 일치에 유용. /u/는 이모지나 비BMP 문자 만날 수 있을 때 권장 — 그것 없이 /./는 4바이트 이모지를 단일 문자로 일치 안 함.

캡처 그룹과 교체

괄호가 캡처 그룹 생성: '2026-05'에 /(\d{4})-(\d{2})/는 '2026'과 '05' 별도 캡처. 교체에서 $1, $2로 참조. 명명 그룹은 (?<name>...) 사용하고 교체에서 $<name> 참조.

흔한 교체 트릭: $&가 전체 일치 삽입. $1, $2 등이 캡처 그룹 삽입. $$가 리터럴 $ 삽입. 여기 교체 미리보기는 실제 텍스트에 같은 패턴 실행 전 확인 가능 — 프로덕션 데이터에 직접 실행보다 훨씬 안전.

주의할 함정

백슬래시 이스케이프. 리터럴 '.' 일치는 '\.' 사용. JavaScript 소스 문자열에서 이는 '\\.'가 되지만 본 도구에서는 정규식 소스이므로 단순 '\.' 입력.

재앙적 백트래킹. /(a+)+/ 같은 패턴이 'aaaa…!'에 영원히 걸림. 테스트가 멈춘 것 같으면 정규식이 중첩 정량자 가질 수 있음. 단순화하거나 소유/원자 그룹 사용(JS 정규식에 안 됨; 신중한 디자인 사용).

탐욕 vs 게으름. /<.+>/는 '<a><b>'에 '<a><b>' 일치(탐욕). /<.+?>/는 '<a>' 일치(게으름). 사용 사례에 맞는 것 선택.

자주 묻는 질문

어떤 정규식 플레이버 사용?

JavaScript ECMAScript 정규식(브라우저 구현). PHP, .NET, Python에서 사용되는 PCRE와 약간 다름.

왜 lookbehind 작동 안 함?

현대 브라우저에서 작동 — Chrome, Firefox, Safari, Edge 모두 2021년부터 (?<=...)와 (?<!...) 지원. 안 되면 브라우저가 오래됨.

'u' 플래그 작동?

적절한 유니코드 처리 활성화. 🎉 같은 이모지(UTF-16에 서로게이트 쌍)는 /u/와 함께 한 문자, 기본 모드에서 두 개로 처리.

탭이나 줄 바꿈 일치?

탭에 \t, 줄 바꿈에 \n, 캐리지 리턴에 \r, 모든 공백(이 모두 포함)에 \s.

왜 본 교체 작동 안 함?

가장 자주 'g' 플래그 잊음 — 'g' 없는 교체는 첫 일치만 교체. 모두 교체에 'g' 토글.

매우 긴 텍스트 사용 가능?

네, 몇 MB까지. 그 이상은 브라우저 느려짐. 긴 입력에 재앙적 패턴(중첩 정량자) 회피.

데이터가 전송되나요?

전송되지 않습니다. 패턴과 텍스트 로컬 처리만.

정규식 치트 시트?

'JavaScript regex cheat sheet' 검색. MDN의 RegExp 페이지가 권위 있는 참조.

관련 도구

최종 업데이트: