CODEDRAGON ㆍDevelopment/Regular Expression
정규 표현식에서 사용하는 특수문자
다음에 나오는 특수 문자를 문자열로 인식합니다.
특수문자 |
설명 |
^ |
· 문자열이나 행의 처음 · 입력 문자열의 시작 위치를 찾습니다.(라인의 처음과 패턴과 찾습니다.) · 가령, ^A 라고 써주면 검색하고자 하는 문장의 시작문자가 A인지를 검사하는 것입니다. |
$ |
· 문자열이나 행의 끝 · 입력 문자열의 끝 위치를 찾습니다.(라인의 끝과 패턴과 찾습니다.) · 가령, $A 라고 써주면 검색하고자 하는 문장의 마지막문자가 A인지를 검사하는 것입니다. |
* |
· 0개 이상의 문자를 찾습니다. · 예 : "cg*"는 "cg", "cginjs" 등입니다. |
+ |
· 1개 이상의 문자를 찾습니다. · 예 : "cg+"는 "cg", "cginjs" 등이지만 "c"는 아닙니다. |
? |
· 0 또는 1개의 문자 의미. · 예 : " C?j" 라면 C라는 문자와 j라는 문자사이에 문자가 0개 또는 1개 가 들어갈 수 있다는 말입니다. · Cj, Cnj, Cgj등과 같은.. |
. |
· "\n"(개행문자)을 제외한 모든 단일 문자를 찾습니다. · "n"을 포함한 모든 문자를 찾으려면 '[.n]' 패턴을 사용합니다. |
() |
· 한번 match를 수행해서 나온 결과를 기억함. · 예 : /(cnj)/ 는 cnj라는 단어를 검색한 후, 그 단어를 배열등과 같은 저장장소에 남겨두어 나중에 다시 호출할 수 있도록 합니다. |
| |
· OR |
{n} |
· 정확히 n개의 문자(n은 음이 아닌 정수) · 예: a{2} 는 a 문자 두 개, 즉, aa를 의미합니다. |
{n,} |
· n정확히 n개 찾습니다.(n,음이 아닌 정수) · 예 : "c{2}"는 "cnj"의 "c"는 찾지 않지만 "bcccccccccf"의 모든 c는 찾습니다. |
{n,m} |
· 최소 n개, 최대 m개 찾습니다.(n은 음이 아닌 정수) · 예 : "b{1,4}"은 "bcccccccccf"의 처음 네 개의 c를 찾습니다. · 쉼표와 숫자 사이에는 공백을 넣을 수 없습니다. |
[xyz] |
· 괄호 안의 문자 중 하나를 찾습니다.(문자들의 set를 의미) · 가령, [a-z]라면 a부터 z까지의 모든 문자와 찾습니다.하는 것으로 []안의 -는 범위를 나타냅니다. · 괄호 안의 문자 중 하나를 찾습니다. · 예:, "[abc]"는 "cnj"의 "c"를 찾습니다. |
[^xyz] |
· 제외 문자 집합입니다.(네가티브(-) 캐릭터 셋) · 괄호 밖의 문자 중 하나를 찾습니다. · 예 : "[^abc]"는 "acn"의 "n"를 찾습니다. |
x|y |
· x 또는 y를 찾습니다. · 예 : "c|cginjs"는 "c" 또는 "cginjs"를 찾습니다. |
[a-z] |
· 문자 범위입니다.(지정한 범위 안의 문자를 찾습니다) · 예 : "[a-z]"는 "a"부터 "z" 사이의 모든 소문자를 찾습니다. |
[^a-z] |
· 제외 문자 범위입니다(지정된 범위 밖의 문자를 찾습니다) · 예 : "[^a-z]"는 "a"부터 "z" 사이에 없는 모든 문자를 찾습니다. |
[b] |
· 백스페이스와 찾습니다. |
b |
· 단어와 공백 사이의 위치를 찾습니다.(단어의 경계) · 단어의 맨 앞이나 맨 뒤가 패턴과 일치하는지를 검색합니다. · 예 : "erb"는 "never"의 "er"는 찾지만 "verb"의 "er"는 찾지 않습니다. |
B |
· 단어의 비경계를 찾습니다. · 예 : "erB"는 "verb"의 "er"는 찾지만 "never"의 "er"는 찾지 않습니다. |
cX |
· X 가 나타내는 제어 문자를 찾습니다.(control 문자와 찾습니다) · 예 : cM은 Control-M 즉, 캐리지 리턴 문자를 찾습니다. · x 값은 A-Z 또는 a-z의 범위 안에 있어야 합니다. · 그렇지 않으면 c는 리터럴 "c" 문자로 간주됩니다. |
d |
· 0부터 9까지의 아라비아 숫자와 찾습니다. · [0-9]과 같은 의미 |
D |
· 숫자가 아닌 문자를 찾습니다. · [^0-9]와 같습니다. |
f |
· 폼피드 문자(form-feed)를 찾습니다. · x0c와 cL과 같은 의미 |
n |
· linefeed(줄 바꿈 문자)를 찾습니다. · x0a와 cJ과 같은 의미 |
r |
· 캐리지 리턴 문자를 찾습니다(x0d와 cM과 같은 의미) |
s |
· 공백, 탭, 폼피드(줄 바꿈 문자) 등의 공백을 찾습니다. · [ tnrfv]과 같은 의미 |
S |
· s가 아닌 문자(공백이 아닌 문자)를 찾습니다. · [^ tnrfv]과 같은 의미 |
t |
· 탭 문자를 찾습니다. (x09와 cI와 같은 의미) |
v |
· 수직 탭 문자를 찾습니다.(x0b와 cK와 같은 의미) |
w |
· 밑줄을 포함한 영문자 및 숫자를 찾습니다. · "[A-Za-z0-9_]"와 같은 의미 |
W |
· 영문자, 숫자가 아닌 문자, 문자가 아닌 요소를 찾습니다. · 즉 % 등과 같은 특수 문자를 의미 · "[^A-Za-z0-9_]"와 같은 의미 |
n |
· n은 마지막 일치하는 문장 |
xn |
· n을 찾습니다. 여기서 n은 16진수 이스케이프 값입니다. · 16진수 이스케이프 값은 정확히 두 자리여야 합니다. · 예 : 'x41'은 "A"를 찾고 'x041'은 'x04'와 "1"과 같습니다. · 정규식에서 ASCII 코드를 사용할 수 있습니다. |
num |
· num을 찾습니다.(num은 양의 정수) · 캡처한 문자열에 대한 역참조입니다. · 예 : '(.)1'은 연속적으로 나오는 동일한 문자 두 개를 찾습니다. |
nm |
· 8진수 이스케이프 값이나 역참조를 나타냅니다. · nm 앞에 최소한 nm개의 캡처된 부분식이 나왔다면 nm은 역참조입니다. · nm 앞에 최소한 n개의 캡처가 나왔다면 n은 역참조이고 뒤에는 리터럴 m이 옵니다. · 이 두 경우가 아닐 때 n과 m이 0에서 7 사이의 8진수이면 nm은 8진수 이스케이프 값 nm을 찾습니다. |
nml |
· n이 0에서 3 사이의 8진수이고 m과 l이 0에서 7 사이의 8진수면 8진수 이스케이프 값 nml을 찾습니다. |
un |
· n은 4 자리의 16진수로 표현된 유니코드 문자입니다. · 예 : u00A9는 저작권 기호(ⓒ)를 찾습니다. |
ooctal xhex |
· 8(octal)진수, 10(hex)진수 값 |
xhh |
· 16진수 hh에 해당하는 유니코드 문자를 검색합니다. |
uhhhh |
· 16진수 hhhh에 해당하는 유니코드 문자를 검색합니다. |
'Development > Regular Expression' 카테고리의 다른 글
반복 (+) (0) | 2020.03.04 |
---|---|
반복 (*) (0) | 2020.03.04 |
디자인패턴(Design Pattern) (0) | 2019.07.31 |
정규표현식 문자 (0) | 2019.05.08 |
Regex Crossword - regular expressions 퍼즐 게임 (0) | 2019.04.20 |