정규식 핵심 메타문자
.임의 한 글자 (줄바꿈 제외)*0회 이상 반복 /+1회 이상 /?0~1회^줄 시작 /$줄 끝\d숫자 /\w단어문자 /\s공백[abc]문자 집합 /[^abc]부정(...)캡처 그룹 /(?:...)비캡처|OR\b단어 경계
예시: ^010-\d{4}-\d{4}$ → 한국 핸드폰 번호
\b\w+@\w+\.\w+\b → 간단한 이메일 매칭
정규표현식을 테스트하고 매칭 결과를 실시간으로 확인하세요.
정규식 테스터는 패턴이 의도한 문자열에만 매칭되는지 실시간으로 확인해 줘요. 입력 검증·로그 파싱·검색 치환에서 매번 손이 가요.
. 임의 한 글자 (줄바꿈 제외)* 0회 이상 반복 / + 1회 이상 / ? 0~1회^ 줄 시작 / $ 줄 끝\d 숫자 / \w 단어문자 / \s 공백[abc] 문자 집합 / [^abc] 부정(...) 캡처 그룹 / (?:...) 비캡처| OR\b 단어 경계예시: ^010-\d{4}-\d{4}$ → 한국 핸드폰 번호
\b\w+@\w+\.\w+\b → 간단한 이메일 매칭
g 전역 검색 (모든 매치)i 대소문자 무시m 멀티라인 (^/$이 각 줄에 적용)s dotall (.이 줄바꿈도 포함)u 유니코드 (이모지 같은 서로게이트 쌍을 한 글자로 처리)이모지처럼 두 칸(서로게이트 쌍)으로 저장되는 문자를 한 글자로 다루려면 u 플래그를 켜세요. 한글 음절([가-힣])은 u 없이도 잡혀요. 이 도구는 g·i·m·s를 버튼으로 켜고, u 같은 다른 플래그는 플래그 입력란에 직접 적으면 돼요.
조합 예: /\bemail\b/gi → 단어 경계 + 전역 + 대소문자 무시
.*는 가능한 한 길게 매치. .*?로 최단 매치. HTML 파싱·따옴표 안 추출에서 자주 실수validator.js) 추천(a+)+ 같은 중첩 반복은 입력에 따라 ReDoS 공격 가능. 테스트 필수. ? * + ( ) [ \ 같은 메타는 \. 처럼 escape[가-힣]이 한글 음절 범위, [ㄱ-ㅎㅏ-ㅣ]은 자모 분리기본 문법은 비슷하지만 미묘한 차이가 있어요. JS는 lookbehind를 ES2018부터 지원, Python은 더 풍부한 기능. PCRE(Perl 호환)가 가장 풍부.
여러 입력 길이에서 매칭 시간 측정. 100k자 이상에서 갑자기 느려지면 backtracking 의심. regex101이 step count로 알려줘요.
RFC 5322 완전 매치는 너무 길어서 비실용. HTML5 spec의 단순 패턴 또는 라이브러리(validator.js) 사용 추천.
(a+)+ 같은 중첩 반복이 입력에 따라 지수적으로 느려지는 백트래킹 폭발(ReDoS)의 공식 설명