Open DrMaemi opened 8 months ago
.
n.ver
naver
never
niver
[]
[
]
[a-z][1-9][123]
a11
a12
a13
a21
z93
[^]
[^
[^abc]
d
e
^
^[A-Z]
$
\.$
\
\|
abc\|def
abc
def
()
(
)
R(eg\|ab)Ex
RegEx
RabEx
\n
n
Reg\2
Reg
*
Re*g*Ex
REx
ReEx
RgEx
ReeEx
ReeeEx
Reeeee...ggg...Ex
{m,n}
(Re*g*Ex){1, 3}
a{1,3}b
RExReEx
ab
aab
aaab
b
aaaab
?
a?b
+
a+b
/\v(Re*g*Ex){1,3}
\v
:%s/\v(Re*g*Ex){1,3}/RegExRegEx/gc
정규표현식
문법(메타 문자)
.
n.ver
naver
,never
,niver
, ...[]
[
과]
사이에 나열된 문자들 중 하나와 매칭[a-z][1-9][123]
a11
,a12
,a13
,a21
, ...,z93
[^]
[^
과]
사이에 나열된 문자들을 제외한 문자 하나와 매칭[^abc]
d
,e
, ...^
^[A-Z]
$
\.$
.
) 문자와 매칭(\
를 쓰면 그 다음 문자는 메타 문자가 아닌 일반 문자로 인식)\|
\|
로 구분된 여러 식 중 하나를 선택해 매칭abc\|def
abc
,def
()
(
와)
사이의 여러 식을 하나로 묶고, 그 바깥과 구분하며 매칭R(eg\|ab)Ex
RegEx
,RabEx
\n
n
번째로 매칭된 문자열과 매칭Reg\2
Reg
*
*
앞에 기입된 식이 0개 이상 등장하는 문자열과 매칭Re*g*Ex
REx
,ReEx
,RgEx
,RegEx
,ReeEx
,ReeeEx
,Reeeee...ggg...Ex
, ...{m,n}
{m,n}
앞에 기입된 식이 m번 이상, n번 이하 등장하는 문자열과 매칭(Re*g*Ex){1, 3}
,a{1,3}b
RExReEx
, ...,ab
,aab
,aaab
(b
나aaaab
는 매칭되지 않는다.)?
?
앞에 기입된 식이 0 또는 1번 등장하는 문자열과 매칭a?b
b
,ab
+
+
앞에 기입된 식이 1번 이상 등장하는 문자열과 매칭a+b
ab
,aab
,aaab
, ...(b
와 매칭되지 않는다.)사용처
vim에서 문자열 패턴 find, 또는 find and replace
/\v(Re*g*Ex){1,3}
와 같이 입력하면 된다. -\v
를 중간에 넣어줬는데, 이는 'very magic' 모드로, vim에서 정규표현식 메타 문자를 제대로 인식하도록 한다.:%s/\v(Re*g*Ex){1,3}/RegExRegEx/gc
와 같이 명령어를 입력해 할 수 있다.연습
A. 참조