TL
툴랩
💰후원하기
💰후원하기

정규식 레퍼런스

정규식 문자 클래스, 앵커, 수량자, 그룹, 플래그 등 모든 패턴을 한눈에 찾아볼 수 있는 빠른 참조 가이드입니다.

문자 클래스

.Any character except newline
\wWord character [a-zA-Z0-9_]
\WNon-word character
\dDigit [0-9]
\DNon-digit
\sWhitespace (space, tab, newline)
\SNon-whitespace
[abc]Character class — a, b, or c
[^abc]Negated class — not a, b, or c
[a-z]Range — any lowercase letter
[a-zA-Z0-9]Alphanumeric characters

앵커

^Start of string (or line with multiline)
$End of string (or line with multiline)
\bWord boundary
\BNon-word boundary
\AStart of string (not multiline)
\ZEnd of string (not multiline)

수량자

*Zero or more (greedy)
+One or more (greedy)
?Zero or one (greedy)
{n}Exactly n times
{n,}n or more times
{n,m}Between n and m times
*?Zero or more (lazy/non-greedy)
+?One or more (lazy/non-greedy)
??Zero or one (lazy/non-greedy)

그룹 및 교체

(abc)Capture group
(?:abc)Non-capturing group
(?P<name>abc)Named capture group
a|bAlternation — a or b
(?=abc)Positive lookahead
(?!abc)Negative lookahead
(?<=abc)Positive lookbehind
(?<!abc)Negative lookbehind

이스케이프 및 특수 문자

\nNewline
\tTab
\rCarriage return
\0Null character
\uXXXXUnicode character (hex)
\.Literal dot (escaped)
\\Literal backslash

플래그

gGlobal — find all matches
iCase-insensitive
mMultiline — ^ and $ match line start/end
sDotall — . matches newline
uUnicode — treat pattern as Unicode
ySticky — match from lastIndex

일반 패턴

^[\w.-]+@[\w.-]+\.\w{2,}$Email address
https?://[\w./%-]+URL (basic)
^\d{1,3}(\.\d{1,3}){3}$IPv4 address
^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$Hex color
^\d{4}-\d{2}-\d{2}$ISO date (YYYY-MM-DD)
^[+]?[\d\s()-]{7,15}$Phone number (basic)
^(?=.*[A-Z])(?=.*\d).{8,}$Password: 8+ chars, 1 uppercase, 1 digit

이 도구 소개

정규식(Regex)은 문자열의 패턴을 기술하는 강력한 언어입니다. 이 레퍼런스는 가장 많이 사용되는 구문과 패턴을 빠르게 찾아볼 수 있도록 정리했습니다.

섹션별로 구분되어 있으며, 검색창을 이용해 원하는 패턴을 즉시 찾을 수 있습니다.

사용 방법

  1. 원하는 섹션을 찾아 패턴을 확인합니다.
  2. 검색창에 키워드를 입력해 빠르게 필터링합니다.
  3. 패턴을 클릭해 클립보드에 복사합니다.
  4. 정규식 테스터 도구에서 패턴을 테스트해 보세요.

활용 사례

유효성 검사, 문자열 파싱, 로그 분석, 검색/바꾸기 작업 등 다양한 프로그래밍 작업에 활용하세요.

자주 묻는 질문

  • 정규식은 어느 언어에서나 동작하나요?대부분의 언어에서 지원하지만 구문이 약간씩 다를 수 있습니다. JavaScript, Python, Java 등 주요 언어는 대부분 PCRE 호환 문법을 따릅니다.
  • 대소문자 구분 없이 검색하려면 어떻게 하나요?패턴 끝에 i 플래그를 추가하면 대소문자를 구분하지 않습니다. 예: /pattern/i
  • 탐욕적(greedy)과 게으른(lazy) 수량자의 차이는 무엇인가요?탐욕적 수량자(*, +, ?)는 가능한 많이 매칭하고, 게으른 수량자(*?, +?, ??)는 가능한 적게 매칭합니다.