정규식 - 메타 문자
다음 표에는 정규 표현식과 관련된 전체 메타 문자 목록과 해당 동작이 포함되어 있습니다.
Character | Description |
---|---|
다음 문자를 특수 문자, 리터럴 문자, 역참조 또는 8진수 이스케이프 문자로 표시합니다. 예를 들어 'n'은 문자 "n"과 일치합니다. 'n'은 개행 문자와 일치합니다. 시퀀스 '\'는 ""와 일치하고 "("는 "("와 일치합니다. | |
^ | 은 입력 문자열의 시작 부분과 일치합니다. RegExp 개체의 Multiline 속성이 설정된 경우 ^는 'n' 또는 'n'과도 일치합니다. |
$ | 뒤의 'r'은 입력 문자열의 끝과 일치합니다. RegExp 개체의 Multiline 속성이 설정된 경우 $는 'n' 또는 'r' 앞의 위치와도 일치합니다. 예를 들어, zo*는 "z" 및 "zoo"와 일치합니다. *는 이전 하위 표현식과 동일합니다. 예를 들어 'zo+'는 "zo" 및 "zoo"와 일치합니다. , 그러나 "z"는 아닙니다. +는 이전 하위 표현식과 0번 또는 한 번 일치합니다. 예를 들어 "do(es)?"는 "do" 또는 "does"에서 "do"와 일치할 수 있습니다. ?는 {0,1}과 동일합니다. |
{n} | n은 특정 횟수와 일치합니다. 예를 들어 'o{2}'는 'o'와 일치할 수 없습니다. "Bob"에서는 두 개의 o와 일치할 수 있습니다. 음수가 아닌 정수입니다. 예를 들어 'o{2,}'는 "Bob"에서 'o'와 일치할 수 없습니다. "foooood"의 모든 'o{1,}'과 일치할 수 있습니다. 'o{0,}'는 'o*'와 동일합니다. n은 모두 음수가 아닌 정수입니다. 여기서 n <= m은 최대 m번과 일치합니다. 예를 들어, "o{1,3}"은 "fooooood"의 처음 세 개의 o와 일치합니다. 0,1}'은 'o?'와 동일합니다. 이 문자 뒤에 다른 제한 기호(*, +, ?, {n)가 오면 쉼표와 두 숫자 |
? | 사이에 공백이 있어서는 안 됩니다. }, {n,}, {n,m} ), 일치 모드는 non-greedy 모드이며, 기본greedy 모드는 검색된 문자열과 최대한 일치합니다. 예를 들어, 문자열 "oooo"의 경우 'o+?'는 단일 "o"와 일치하고, 'o+'는 모든 'o'와 일치합니다. |
(?:pattern) | 은 패턴과 일치하지만 일치하는 결과를 얻지 못합니다. 즉, 일치하지 않으며 나중에 사용하기 위해 저장되지 않습니다. 이는 "or" 문자(|)를 사용하여 패턴의 일부를 결합할 때 유용합니다. 예를 들어 'industr(?:y|ies)는 'industry|industries'보다 짧은 표현입니다. |
(?=pattern) | 정방향 조회는 패턴과 일치하는 문자열의 시작 부분에서 검색 문자열을 일치시킵니다. 이는 가져오지 않는 일치입니다. 즉, 나중에 사용하기 위해 일치 항목을 가져올 필요가 없습니다. 예를 들어, 'Windows (?=95|98|NT|2000)'는 "Windows 2000"의 "Windows"와 일치하지만 "Windows 3.1"의 "Windows"와 일치하지 않습니다. 프리페치는 문자를 소비하지 않습니다. 즉, 일치가 발생한 후 다음 일치 항목에 대한 검색은 프리페치를 포함하는 문자 뒤에서 시작하는 것이 아니라 마지막 일치 직후에 시작됩니다. |
(?!pattern) | 부정 조회, 패턴과 일치하지 않는 문자열의 시작 부분에 있는 검색 문자열과 일치합니다. 이는 가져오지 않는 일치입니다. 즉, 나중에 사용하기 위해 일치 항목을 가져올 필요가 없습니다. 예를 들어, 'Windows(?!95|98|NT|2000)'는 "Windows 3.1"의 "Windows"와 일치하지만 "Windows 2000"의 "Windows"와는 일치하지 않습니다. 프리페치는 문자를 소비하지 않습니다. 즉, 일치가 발생한 후 다음 일치 항목에 대한 검색은 프리페치를 포함하는 문자 뒤에서 시작하는 것이 아니라 마지막 일치 직후에 시작됩니다. |
x|y | x 또는 y와 일치합니다. 예를 들어 'z|food'는 "z" 또는 "food"와 일치합니다. '(z|f)ood'는 "zood" 또는 "food"와 일치합니다. |
[xyz] | 캐릭터 컬렉션. 포함된 문자 중 하나와 일치합니다. 예를 들어 '[abc]'는 "plain"의 'a'와 일치합니다. |
[^xyz] | 부정 문자 모음입니다. 포함되지 않은 모든 문자와 일치합니다. 예를 들어 '[^abc]'는 "plain"의 'p', 'l', 'i', 'n'과 일치합니다. |
[a-z] | 문자 범위. 지정된 범위 내의 모든 문자와 일치합니다. 예를 들어 '[a-z]'는 'a'부터 'z'까지의 범위에 있는 모든 소문자 알파벳 문자와 일치합니다. |
[^a-z] | 음수 문자 범위. 지정된 범위 내에 없는 모든 문자와 일치합니다. 예를 들어 '[^a-z]'는 'a'에서 'z' 범위에 없는 모든 문자와 일치합니다. |
b | 는 단어와 공백 사이의 위치를 나타내는 단어 경계와 일치합니다. 예를 들어, 'erb'는 "never"의 'er'와 일치하지만 "동사"의 "er"는 일치하지 않습니다. |
B | 단어가 아닌 경계와 일치합니다. 'erB'는 "동사"의 'er'와 일치하지만 "never"에서는 일치하지 않습니다. |
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 | 은 공백, 탭, 양식 피드 등을 포함한 모든 공백 문자와 일치합니다. [fnrtv]와 동일합니다. |
S | 은 공백이 아닌 모든 문자와 일치합니다. [^ fnrtv]와 동일합니다. |
t | 은 탭 문자와 일치합니다. x09 및 cI와 동일합니다. |
v | 은 세로 탭 문자와 일치합니다. x0b 및 cK와 동일합니다. |
w | 은 밑줄을 포함한 모든 단어 문자와 일치합니다. '[A-Za-z0-9_]'와 동일합니다. |
W | 은 단어가 아닌 문자와 일치합니다. '[^A-Za-z0-9_]'와 동일합니다. |
xn | 은 n과 일치합니다. 여기서 n은 16진수 이스케이프 값입니다. 16진수 이스케이프 값은 정확히 두 자리 길이여야 합니다. 예를 들어 'x41'은 "A"와 일치합니다. 'x041'은 'x04' 및 "1"과 동일합니다. ASCII 인코딩은 정규식에서 사용할 수 있습니다. |
num | 은 num과 일치합니다. 여기서 num은 양의 정수입니다. 획득한 일치 항목에 대한 참조입니다. 예를 들어 '(.)1'은 두 개의 연속된 동일한 문자와 일치합니다. |
n | 8진수 이스케이프 값 또는 역참조를 식별합니다. n 앞에 가져온 n개 이상의 하위 표현식이 있는 경우 n은 역방향 참조입니다. 그렇지 않고 n이 8진수(0-7)이면 n은 8진수 이스케이프 값입니다. |
nm | 8진수 이스케이프 값 또는 역참조를 식별합니다. nm 앞에 최소 nm개의 획득 가능한 하위 표현식이 있는 경우 nm은 역방향 참조입니다. nm 앞에 최소한 n의 획득이 있으면 n은 역방향 참조이고 그 뒤에는 리터럴 m이 옵니다. 이전 조건 중 어느 것도 참이 아닌 경우, n과 m이 모두 8진수(0-7)이면 nm는 8진수 이스케이프 값 nm과 일치합니다. |
nml | n이 8진수(0-3)이고 m과 l이 모두 8진수(0-7)인 경우 8진수 이스케이프 값 nml과 일치합니다. |
un | 은 n과 일치합니다. 여기서 n은 4개의 16진수 숫자로 표시되는 유니코드 문자입니다. 예를 들어, u00A9는 저작권 기호(?)와 일치합니다. |