정규 문자 |
설명 |
\ |
다음 문자를 특별한 문자, 원래 문자, 역참조, 혹은 8진수 이스케이프 기호로 표시합니다. 예를 들어, “n "은 문자"n "과 일치합니다. "\n "은 줄 바꿈 문자와 일치합니다. "\\ "은"\ "와 일치하고 "\( "은"( "와 일치합니다. |
^ |
입력 문자열의 시작 위치와 일치합니다. RegExp 객체의 Multiline 속성이 설정된 경우 ^는 “\n " 또는 "\r " 다음의 위치도 일치합니다. |
$ |
입력 문자열의 끝 위치와 일치합니다. RegExp 객체의 Multiline 속성이 설정된 경우 $는 “\n " 또는 "\r " 이전의 위치도 일치합니다. |
* |
앞의 서브 표현식에 대해 0번 이상 일치합니다. 예를 들어, "zo*"는 “z " 및 "zoo "와 일치합니다. *는 {0,}과 같습니다. |
+ |
앞의 서브 표현식에 대해 1번 이상 일치합니다. 예를 들어, “zo+ "는 "zo " 및 "zoo "와 일치하지만 "z "와는 일치하지 않습니다. +는 {1,}과 같습니다. |
? |
앞의 서브 표현식에 대해 0번 또는 1번 일치합니다. 예를 들어, “do(es)? "는 "does " 또는 "does "의 "do "와 일치합니다. ?는 {0,1}와 같습니다. |
{n} |
n은 비부정 정수입니다. 특정한 n 회와 일치합니다. 예를 들어, “o{2} "는 "Bob "의 "o "와 일치하지 않지만, "food "의 두 개의 o와 일치합니다. |
{n,} |
n은 비부정 정수입니다. 최소한 n 번 이상 일치합니다. 예를 들어, “o{2,} "는 "Bob "의 "o "와 일치하지 않지만, "foooood "의 모든 o와 일치합니다. "o{1,} "는 "o+ "와 같으며, "o{0,} "는 "o* "와 같습니다. |
{n,m} |
m과n은 모두 비부정 정수이며, n <= m여야 합니다. 최소 n 번 이상 일치하고 최대 m 번 이하로 일치합니다. 예를 들어, “o{1,3} "는 "fooooood "의 처음 세 개의 o에 일치합니다. "o{0,1} "는 "o? "와 같으며, 조건 사이에 공백이 없어야 합니다. |
? |
문자가 다른 제한자(*,+,?,{n},{n,},{n,m}) 뒤에 있을 경우 일치하는 패턴은 비탐욕적입니다. 비탐욕적 모드는 검색하려는 문자열을 가능한 한 적게 일치시키고 기본적으로 탐욕적 모드는 가능한 한 많이 일치시킵니다. 예를 들어, 문자열 “oooo "에 대해서 "o+? "는 단일 "o "와 일치하고 "o+ "는 모든 "o "와 일치합니다. |
. |
문자 "“\ n "을 제외한 모든 단일 문자와 일치합니다. "(.|\n) " 패턴과 같이 “\ n "을 포함한 모든 문자와 일치하려면 사용합니다. |
(pattern) |
패턴과 일치하고 이 매칭 결과를 잡아냅니다. 얻은 일치는 생성된 Matches 컬렉션에서 얻을 수 있으며, VBScript에서 SubMatches 컬렉션을 사용하고 JScript에서는 $0...$9 속성을 사용합니다. 괄호 문자를 일치시키려면 “\( " 또는 "\) "를 사용합니다. |
(?:pattern) |
패턴과 일치하지만 일치한 결과를 가져오지 않으며, 즉 비취득 매칭입니다. 이는 OR 기호 “(|) "를 사용하여 패턴의 각 부분을 조합하는 데 유용합니다. 예를 들면 "industr(?:y|ies) "는 "industry|industries "보다 더 간결한 표현식입니다. |
(?=pattern) |
정방향 긍정 예측일치로, 패턴과 일치하는 문자열의 시작 부분에서 검색 문자열을 일치시킵니다. 이는 비취득 매칭이므로, 이 매칭은 이후에 사용하기 위해서 가져올 필요가 없습니다. 예를 들어, “Windows(?=95|98|NT|2000) "는 "Windows2000 "의 "Windows "와 일치하지만 "Windows3.1 "의 "Windows "와 일치하지 않습니다. 예측 일치는 문자를 소비하지 않으며, 매칭이 발생한 후, 마지막 매칭 후 즉시 다음 매칭의 검색을 시작하여, 예측을 포함한 문자 다음에서 시작하지 않습니다. |
(?!pattern) |
정방향 부정 예측일치로, 패턴과 일치하지 않는 문자열의 시작 부분에서 검색 문자열을 일치시킵니다. 이는 비취득 매칭이므로, 이 매칭은 이후에 사용하기 위해서 가져올 필요가 없습니다. 예를 들어 “Windows(?!95|98|NT|2000) "는 "Windows3.1 "의 "Windows "와 일치하지만 "Windows2000 "의 "Windows "와는 일치하지 않습니다. 예측 일치는 문자를 소비하지 않으며, 이후의 매칭에 대해 매칭이 발생한 후 마지막으로 매칭 한 뒤 즉시 다음 매칭의 검색을 시작합니다. |
(?<=pattern) |
역방향 긍정 예측일치로, 정방향 긍정 예측일치와 비슷하지만 방향이 반대입니다. 예를 들어, “(?<=95|98|NT|2000)Windows "는 "2000Windows "의 "Windows "와 일치하지만 "3.1Windows "의 "Windows "와 일치하지 않습니다. |
(?
| 역방향 부정 예측일치로, 정방향 부정 예측일치와 비슷하지만 방향이 반대입니다. 예를 들어 “(?"는 "3.1Windows "의 "Windows "와 일치하지만 "2000Windows "의 "Windows "와는 일치하지 않습니다. |
x|y |
x 또는 y와 일치합니다. 예를 들어, “z|food "는 "z " 또는 "food "와 일치합니다. "(z|f)ood "는 "zood " 또는 "food "와 일치합니다. |
[xyz] |
문자 집합입니다. 포함된 임의의 문자와 일치합니다. 예: “[abc] "는 "plain "의 "a "와 일치할 수 있습니다. |
[^xyz] |
부정 문자 집합입니다. 포함되지 않은 임의의 문자와 일치합니다. 예: “[^abc] "는 "plain "의 "p "와 일치합니다. |
[a-z] |
문자 범위입니다. 지정된 범위 내의 임의의 문자와 일치합니다. 예: “[a-z] "는 "a "에서 "z "까지의 임의의 소문자 문자와 일치합니다. |
[^a-z] |
부정 문자 범위입니다. 지정된 범위에 없는 임의의 문자와 일치합니다. 예: “[^a-z] "는 "a "에서 "z "까지의 임의의 문자를 제외합니다. |
\b |
단어 경계를 일치시키며, 즉 단어와 공백 사이의 위치입니다. 예: “er\b "는 "never "의 "er "와 일치하지만 "verb "의 "er "와는 일치하지 않습니다. |
\B |
비단어 경계를 일치시킵니다. “er\B "는 "verb "의 "er "와 일치하지만 "never "의 "er "와는 일치하지 않습니다. |
\cx |
x로 지시된 제어 문자를 일치시킵니다. 예: \cM은 Control-M 또는 캐리지 리턴 문자와 일치합니다. x의 값은 A-Z 또는 a-z 중 하나여야 하며, 그렇지 않으면 c는 원래 "c " 문자로 간주됩니다. |
\d |
수치 문자와 일치합니다. [0-9]와 같습니다. |
\D |
비수치 문자와 일치합니다. [^0-9]와 같습니다. |
\f |
페이지 구분 문자와 일치합니다. \x0c 및 \cL과 같습니다. |
\n |
줄 바꿈 문자와 일치합니다. \x0a 및 \cJ와 같습니다. |
\r |
캐리지 리턴 문자와 일치합니다. \x0d 및 \cM과 같습니다. |
\s |
공백 문자를 포함한 모든 공백 문자를 일치시킵니다. [ \f\n\r\t\v]와 같습니다. |
\S |
모든 비공백 문자와 일치합니다. [^ \f\n\r\t\v]와 같습니다. |
\t |
제어 문자와 일치합니다. \x09 및 \cI와 같습니다. |
\v |
수직 탭 문자와 일치합니다. \x0b 및 \cK와 같습니다. |
\w |
언더스코어를 포함한 모든 단어 문자와 일치합니다. “[A-Za-z0-9_] "와 같습니다. |
\W |
모든 비단어 문자와 일치합니다. “[^A-Za-z0-9_] "와 같습니다. |
\xn |
n은 16진수 이스케이프 값입니다. 16진수 이스케이프 값은 반드시 두 자리 숫자여야 합니다. 예: “\x41 "는 "A "와 일치합니다. "\x041 "는 "\x04&1 "와 같습니다. 정규 표현식에서는 ASCII 인코딩을 사용할 수 있습니다. |
\num |
num는 양의 정수로, 얻은 일치 항목의 참조입니다. 예: “(.)\1 "는 두 개의 연속된 동일 문자를 일치시킵니다. |
\n |
8진수 이스케이프 값 또는 역참조를 식별합니다. 만약 \n 이전에 적어도 n 개의 얻은 서브 표현식이 있다면, n은 역참조입니다. 그렇지 않으면, n이 8진수 숫자(0-7)인 경우, n은 8진수 이스케이프 값입니다. |
\nm |
8진수 이스케이프 값 또는 역참조를 식별합니다. 만약 \nm 이전에 적어도 nm 개의 얻은 서브 표현식이 있다면, nm은 역참조입니다. 만약 \nm 이전에 적어도 n 개의 얻은 서브 표현식이 있다면, n은 다음 문자를 따라 오는 역참조입니다. 이러한 조건이 충족되지 않을 경우, n과 m 이 모두 8진수 숫자(0-7)일 경우, \nm은 8진수 이스케이프 값을 일치시킵니다. |
\nml |
만약 n이 8진수 숫자(0-3)이고, m 및 l이 모두 8진수 숫자(0-7)이면, 8진수 이스케이프 값 nml와 일치합니다. |
\un |
n을 일치시킵니다. 여기서 n은 네 개의 16진수 숫자로 표시된 Unicode 문자입니다. 예를 들어, \u00A9은 저작권 기호 (©)와 일치합니다. |