반응형

정규식 문법

사용 문자

사용법

의미

비고

.

a.b

\n(줄 바꿈)를 제외한 모든 문자와 매치됨을 의미한다.

즉, a와 b 문자 사이에 모든 문자가 허용된다.

ex) aab, acb, afb, a3b ....


^

^app

문자열의 시작을 나타낸다.

ex) ^app apple.... , appads ..

즉, app~로 시작하는 문자열이 모두 매치된다.


$

ple$

문자열의 종료를 나타낸다.

ex) abcple, aee3ple, oefple ....


[]

apple[a-z]

집합을 의미한다.

ex) [abcd]의 경우 a 또는 b 또는 c또는 d를 의미한다.

ex) [^5]일 경우 5를 제외한 모든 문자를 의미한다.

ex) [a-c]일 경우, a~c 문자를 의미한다.

apple[a-z]는 applee, applec... 와 매치되고 

apple4, appleE와 같은 문자일 경우, 매치되지 않는다.


|

a|b

OR 연산을 의미한다. 

ex) a|b는 a 또는 b문자열을 의미한다.


()

(a|b)

괄호 안의 정규식을 group으로 만든다.

직접 괄호를 통하여 매칭하기 위해서 \(, \[로도 나타낸다.


*

ca*t

0회 이상 반복되는 것을 의미한다. 

ex) ca*t는 ct, cat, caat, caaaaat) 등과 매치된다.


+

a+

1회 이상 반복되는 것을 말한다.

ex) cat, caaat 등


?

ca?t

0회 또는 1회 이상 반복되는 것을 의미한다.

ex) ca?t는 cat, ca와 매치된다.


{m}

 ca{2}

{m}회 반복하는 것을 말한다. 

ex) ca{2}는 caa와 매치된다. 

 

{m, n}

 ca{m,n}

m 회부터 n회까지 반복됨을 말한다.

ex) ca{2,4}p는 caap, caap, cbbbp와 매치된다.

 

{m,}

 

 

 


정규식 예제

import re


print (bool(re.match( '[a-c]{3}', 'aaa')))

→ True


반응형

+ Recent posts