정규 표현식

2021. 4. 29. 03:32Python

728x90

- 원래 문자의 뜻이 아닌 특별한 용도로 사용되는 문자

   :  . ^ $ * + ? { } [ ] \ | ( )


character class []

[ ] 사이 문자들과 매치

[ ] 사이에는 어떤 문자도 들어갈 수 있음

ex) [abc] - > a, b, c 중 한 개의 문자와 일치

ex) [abc] 는 [a-c]와 같다

ex) [a-zA-Z] : 알파벳 모두,  [0-9] : 숫자

[ ] 내에는 ^도 들어갈 수 있음 ^ = not

 

https://wikidocs.net/4308

Dot(.)

Dot(.) 메타 문자는 줄바꿈 문자인 \n을 제외한 모든 문자와 매치됨을 의미

ex) a.b = "a+모든문자+b"

주의! abc는 a와 b사이에 문자가 없으므로 정규식과 일치 x 매치 x

 

반복 (*)

ex) ca*t -> c + a반복 + t 인데 a가 반복 되지 않아도(0번 반복) 매치!

 

반복 (+)

+는 최소 1번 이상 반복될 때 사용한다. 즉 *가 반복 횟수 0부터라면 +는 반복 횟수 1부터인 것

ca+t = "c + a(1번 이상 반복) + t"

 

반복 ({m,n}, ?)

{ } 메타 문자를 사용하면 반복 횟수를 고정

만약 {3,}처럼 사용하면 반복 횟수가 3 이상인 경우이고 {,3}처럼 사용하면 반복 횟수가 3 이하를 의미

생략된 m은 0과 동일하며, 생략된 n은 무한대(2억 개 미만)의 의미를 갖는다.

ex) ca{2}t = "c + a(반드시 2번 반복) + t"

ex) ca{2,5}t = "c + a(2~5회 반복) + t"

ex) ab?c = "a + b(있어도 되고 없어도 된다) + c"

 


import re

 

파이썬 re 모듈이 정규 표현식을 지원한다.

 

 

 

728x90

'Python' 카테고리의 다른 글

__getitem__  (0) 2021.05.21
Python argparse  (0) 2021.05.09
2차원 List 뒤집기  (0) 2021.05.01
추상 클래스(abstract class)  (0) 2021.04.08
[Python] pathlib  (0) 2021.03.24