[Python] 정규표현식

ggg9_·2020년 10월 3일
0

정규표현식

목록 보기
2/2

re module

import re

p = re.compile('정규표현식 패턴') # 정규표현식 패턴을 p라는 객체로 생성
m = p.match('문자열') 
  • 파이썬은 정규표현식을 지원하기 위해 re(regular expression) 모듈을 제공한다.
  • m = re.match('패턴', '문자열)
    컴파일과 메소드를 한번에 수행할 수 있지만 패턴을 여러번 사용해야 할 때는 위의 예제처럼 re.compile을 사용하는 것이 편하다.

패턴 객체 메소드

match() 문자열의 처음부터 매치되는지 조사한다.
search() 문자열의 전체를 검색하여 매치되는지 조사한다.
findall() 정규식과 매치되는 모든 문자열을 리스트로 돌려준다.
finditer() 정규식과 매치되는 모든 문자열을 반복 가능한 객체로 돌려준다.

👉 match search는 정규식과 매치되면 match 객체를 매치되지 않을때는 None을 돌려준다.
보통 결과값이 있을때만 다음 작업을 수행한다는 조건문을 함께 사용한다.

match 객체 메소드

group() 매치된 문자열을 돌려준다.
start() 매치된 문자열의 시작 위치를 돌려준다.
end() 매치된 문자열의 끝 위치를 돌려준다.
span() 매치된 문자열의 (시작,끝)에 해당하는 튜플을 돌려준다.

컴파일 옵션

DOTALL(S) .이 줄바꿈 문자를 포함하여 모든 문자와 매치된다.
IGNORECASE(I) 대소문자에 관계없이 매치된다.
MULTILINE(M) 여러줄과 매치된다.(^ $ 메타 문자를 문자열의 각 줄마다 적용)
VERBOSE(X) verbose 모드를 사용할 수 있도록 한다.(정규식을 보기 편하게 만들수 있고 주석 사용 가능)

👉 옵션을 사용할 때는 re.DOTALL 이나 re.S 처럼 약어로 사용한다.

0개의 댓글