정규 표현식을 배워보자 #03 이스케이핑 과 문자그룹
원문은 ZVON의 Regular Expressions Tutorial을 참조하면됨
정규식에서 사용되는 특별한 의미가 있는 문자들을 검색하고 싶을때는 \를 사용한다 |
||||||
Source |
||||||
|
||||||
문장의 시작을 의미하는 ^과 문장이 끝을 의미하는 $와 같이 정규 식에서 사용되는 특별한 의미로 사용되는 문자열을 검색하고 싶을떄 |
||||||
Test Case |
||||||
Case 1
|
||||||
$로 시작하는 문자를 검색하고 싶어서 ^$라고 사용을 했지만, ^과 $모두 특별한 의미로 해석되어 아무것도 검색되지 않음 |
||||||
Case 2
|
||||||
$을 문장의 끝이 아닌 $문자로 해석하기 위해서 \를 사용하여 \$로 표시하면 검색할 문자열에 있는 $를 검색 |
||||||
Case 3
|
||||||
문장중 $로 시작하는 문자를 검색 |
||||||
Case 4
|
||||||
문장중 $로 끝나는 문자를 검색 |
||||||
Case 5
|
||||||
\를 검색하기 위해서는 \\를 사용 |
특정 문자가 아닌 모든 문자는 . 으로 표시한다. |
||||||
Source |
||||||
|
||||||
문장에서 일정 개수의 문자를 검색하려고 할경우 |
||||||
Test Case |
||||||
Case 1
|
||||||
.은 문자 1개를 의미 |
||||||
Case 2
|
||||||
. 의 개수만큼 즉, …...는 문자 6개를 의미하며, All match는 문장을 문자 6개씩 잘라서 인식 |
모든 문자를 의미하는 . 을 검색하고 싶을 경우 |
||||||
Source |
||||||
|
||||||
.도 정규 표현식에서 특수한 의미로 사용되므로 .을 검색하기 위해서는 \와 같이 사용 |
||||||
Test Case |
||||||
Case 1
|
||||||
.은 문자 1개를 의미 |
||||||
Case 2
|
||||||
문장 내에서 .을 검색하려면 \를 사용하여 이스케이핑 시킴 즉, \. 와 같이 표시하면 문장내의 .을 검색 |
||||||
Case 3
|
||||||
정규 표현식\..\.을 살펴보면 \..\.로 잘라서 해석되는데, 앞에있는 \.은 .을 이스케이핑 시킨것이고, 가운데의 .은 모든 문자를 끝부분의 \. 도 .을 이스케이핑 시킨게 되어서 결국, 정규 표현식\..\.은 .과 .사이에 임의의 문자 1개가 있는 경우로 해석된다 |
대괄호 [ ]안에 들어가는 문자들 중 1개만 해당되어도 검색하고 싶을 경우 |
||||||
Source |
||||||
|
||||||
문장에서 일부 문자들이 있는지 검색하고 싶을 경우 [ ]안에 기술하면 되며, [ ]에 있는 문자들이 몇 개이든 상관 없이 1개의 문자와 매칭됨, 즉 1개의 대괄호 [ ]는 문장에서 1개 문자임 |
||||||
Test Case |
||||||
Case 1
|
||||||
문장중에 o 또는 Y 또는 u가 있을 경우를 검색 |
||||||
Case 2
|
||||||
정규 표현식 [dH]. 을 살펴보면[dH]와 .으로 잘라서 해석되는데, 문장내에서 소문자 d, 또는 대문자 H로 시작하는 2개 문자를 의미 |
||||||
Case 3
|
||||||
정규 표현식 [owy][yow]을 살펴보면, 2개의 문자인데 [ ]들의 조합해 보면 oy, oo, ow, wy, wo, ww, yy, yo, yw 가 문장에 있는지 검색 하게됨 |
대괄호 [ ]안에 들어가는 문자들의 범위를 지정하고 싶을때는 – 를 사용하여 지정할 수 있음 |
||||||
Source |
||||||
|
||||||
[ ]안에 지정해야할 문자들이 많을 경우 –를 사용하여 지정할 문자의 범위를 지정할 수 있음 |
||||||
Test Case |
||||||
Case 1
|
||||||
대문자 C~K에 해당하는C,D,E,F,G,H,I,J,K문자들을 의미 |
||||||
Case 2
|
||||||
대문자 C~K에 해당하는C,D,E,F,G,H,I,J,K문자들을 의미 즉, Case1의 [C-K] 와 Case2의 [CDEFGHIJK]는 동일한 의미임 |
||||||
Case 3
|
||||||
소문자 a~d에 해당하는a,b,c,d 문자들을 의미 |
||||||
Case 4
|
||||||
숫자 2~6에 해당하는2,3,4,5,6 문자들을 의미 |
||||||
Case 5
|
||||||
정규 표현식 [C-Ka-d2-6]는 대문자 C~K, 소문자 a~d, 숫자 2~6에 해당하는 문자를 검색 즉, 문장 내에서 C,D,E,F<G,H,I,J,K,a,b,c,d,2,3,4,5,6 문자들 중 하나를 의미 |