앵커 ⤢ ^문자열 시작 위치, 또는 m 플래그 사용 시 각 줄의 시작 위치에 매칭합니다. ^He → He ⤢ $문자열 끝 위치, 또는 m 플래그 사용 시 각 줄의 끝 위치에 매칭합니다. lo$ → lo ⤢ \b단어 경계에 매칭합니다. 단어 문자와 단어가 아닌 문자 사이의 위치입니다. \bcat\b → cat ⤢ \B단어 경계가 아닌 곳에 매칭합니다. 단어 문자 두 개 또는 단어가 아닌 문자 두 개 사이의 위치입니다. \Bar → ar 문자 클래스 ⤢ .줄바꿈을 제외한 임의의 한 문자에 매칭합니다. s 플래그를 켜면 줄바꿈도 포함합니다. a.c → abc ⤢ \d임의의 숫자 0~9에 매칭합니다. \d → 7 ⤢ \D숫자가 아닌 임의의 문자에 매칭합니다. \D → a ⤢ \w임의의 단어 문자(글자, 숫자, 밑줄)에 매칭합니다. \w → _ ⤢ \W단어 문자가 아닌 임의의 문자에 매칭합니다. \W → ! ⤢ \s임의의 공백 문자(공백, 탭, 줄바꿈)에 매칭합니다. a\sb → a b ⤢ \S공백이 아닌 임의의 문자에 매칭합니다. \S → a ⤢ [abc]대괄호 안에 나열한 문자 중 하나에 매칭합니다. [aeiou] → e ⤢ [^abc]대괄호 안에 나열한 문자가 아닌 임의의 문자에 매칭합니다. [^aeiou] → s ⤢ [a-z]주어진 범위(a부터 z까지)의 임의의 한 문자에 매칭합니다. [a-z] → m ⤢ [\s\S]줄바꿈을 포함한 임의의 한 문자에 매칭합니다. 줄을 넘나드는 점 표현의 정형 구문입니다. [\s\S] → \n ⤢ \p{L}u 플래그 사용 시 모든 문자 체계의 임의의 유니코드 글자에 매칭합니다. \p{L} → é ⤢ \p{N}u 플래그 사용 시 모든 문자 체계의 임의의 유니코드 숫자 문자에 매칭합니다. \p{N} → ٣ ⤢ \n이스케이프: 라인 피드 문자 하나에 매칭합니다. \n → line feed ⤢ \t이스케이프: 탭 문자 하나에 매칭합니다. \t → tab ⤢ \r이스케이프: 캐리지 리턴 문자 하나에 매칭합니다. \r → carriage return ⤢ \xhh주어진 두 자리 16진수 코드를 가진 문자 하나에 매칭합니다. \x41 → A ⤢ \u{hhhh}u 플래그 사용 시 주어진 16진수 코드 포인트의 문자 하나에 매칭합니다. \u{1F600} → 😀 ⤢ [[a-z]&&[^aeiou]]v 플래그의 클래스 교집합: 두 집합 모두에 동시에 속하는 문자에 매칭합니다. [[a-z]&&[^aeiou]] → t 수량자 ⤢ *직전 토큰을 0회 이상 반복해서 매칭합니다. ab* → abbb ⤢ +직전 토큰을 1회 이상 반복해서 매칭합니다. a+ → aaa ⤢ ?직전 토큰을 0회 또는 1회 매칭해 선택 사항으로 만듭니다. colou?r → color ⤢ {n}직전 토큰을 정확히 n회 매칭합니다. a{3} → aaa ⤢ {n,}직전 토큰을 n회 이상 매칭합니다. a{2,} → aaaa ⤢ {n,m}직전 토큰을 n회 이상 m회 이하(양 끝 포함) 매칭합니다. a{2,4} → aaa ⤢ *?게으른 수량자: 직전 토큰을 0회 이상, 가능한 한 적게 매칭합니다. <.*?> on <a><b> → <a> ⤢ +?게으른 수량자: 직전 토큰을 1회 이상, 가능한 한 적게 매칭합니다. \d+? on 123 → 1 ⤢ ??게으른 수량자: 직전 토큰을 0회 또는 1회 매칭하며 0회를 우선합니다. ab?? on ab → a ⤢ {n,m}?게으른 수량자: 직전 토큰을 n~m회, 가능한 한 적게 매칭합니다. a{1,3}? on aaa → a ⤢ *+독점 수량자(PCRE): 직전 토큰을 0회 이상 매칭한 결과를 붙잡고, 다른 분할을 시도하려는 역추적을 절대 하지 않습니다. .*+a on aaa → no match 그룹과 선택 ⤢ (abc)캡처 그룹: 해당 나열에 매칭하고 역참조를 위해 기억합니다. (ab)+ → abab ⤢ (?:abc)비캡처 그룹: 해당 나열에 매칭하지만 기억하지는 않습니다. (?:ab)+ → abab ⤢ (?=abc)긍정 탐색(lookahead): 다음 문자가 abc이면 매칭하되 소비하지 않습니다. a(?=b) → a ⤢ (?!abc)부정 탐색(lookahead): 다음 문자가 abc가 아니면 매칭하되 소비하지 않습니다. a(?!b) → a ⤢ \1역참조: 캡처 그룹 1이 찾은 텍스트 그대로에 매칭합니다. (a)\1 → aa ⤢ a|b선택: 세로선 앞이나 뒤의 표현식 중 하나에 매칭합니다. cat|dog → dog ⤢ (?<name>abc)이름 붙인 캡처 그룹: 해당 나열에 매칭하고 주어진 이름으로 기억합니다. (?<year>\d{4}) → year = 2026 ⤢ (?<=abc)긍정 후방 탐색(lookbehind): 앞의 문자가 abc이면 매칭하되 소비하지 않습니다. (?<=a)b → b ⤢ (?<!abc)부정 후방 탐색(lookbehind): 앞의 문자가 abc가 아니면 매칭하되 소비하지 않습니다. (?<!a)b → b ⤢ \k<name>이름 역참조: 이름 붙인 그룹이 찾은 텍스트 그대로에 매칭합니다. (?<w>\w+) \k<w> → the the ⤢ (?>abc)원자 그룹(PCRE): 해당 나열에 한 번 매칭하고 내부로는 절대 역추적하지 않습니다. (?>a+)ab on aab → no match ⤢ (?|a|b)브랜치 리셋(PCRE): 모든 가지가 같은 그룹 번호를 재사용하는 선택입니다. (?|(cat)|(dog)) → \1 = dog 플래그 ⤢ g전역 플래그: 첫 번째만이 아니라 문자열의 모든 매칭을 찾습니다. /a/g on aaa → a, a, a ⤢ i대소문자 무시 플래그: 매칭 시 글자의 대소문자를 무시합니다. /Hi/i → hi ⤢ m여러 줄 플래그: ^와 $를 각 줄의 시작과 끝으로 취급합니다. /^a/m matches at the start of each line ⤢ sdotall 플래그: 점이 줄바꿈에도 매칭되게 합니다. /a.b/s → a\nb ⤢ u유니코드 플래그: 패턴과 입력을 유니코드 코드 포인트로 취급합니다. /\u{1F600}/u → 😀 ⤢ ysticky 플래그: lastIndex가 설정한 정확한 위치에서만 매칭합니다. /ab/y matches only at lastIndex ⤢ dindices 플래그: 모든 매칭의 시작·끝 위치를 결과에 추가합니다. /b/d on abc → indices [1, 2] ⤢ v유니코드 집합 플래그: 더 엄격한 u로, 클래스 안에서 집합 연산도 허용합니다. /[a-z&&[^aeiou]]/v → t ⤢ x확장 플래그(PCRE): 패턴 안의 이스케이프되지 않은 공백과 # 주석을 무시합니다. /a b/x → ab