re
파이썬의 기본 라이브러리 중 하나로 정규 표현식을 지원하기 위한 모듈이다.
re는 regualr expression의 약자다.
사용법
기본 라이브러리이므로 별도 설치 없이 import하여 사용할 수 있다.
import re
p = re.compile('ab*')
re 모듈은 4개의 문자열 검색 모듈을 제공한다.
match
문자열의 처음부터 시작해서 정규식이 일치하는지 확인한다. match 객체 또는 None을 반환한다.
import re
print(re.match('[a-z]+', 'python'))
print(re.match('[a-z]+', '3 python'))
문자열 "3 python"의 경우, 처음에 위치한 3이 [a-z]+을 만족하지 않아 None을 반환한다.
search
문자열 전체를 검색하여 정규식이 일치하는지 확인한다. match 객체 또는 None을 반환한다.
import re
print(re.search('[a-z]+', 'python'))
print(re.search('[a-z]+', '3 python'))
문자열이 처음부터 정규식에 일치해야하는지, 일부만 일치해도 되는지에 따라 match 메서드와 search 메서드를 적절히 사용해야 한다.
findall
정규식에 일치한 모든 문자열을 리스트로 반환한다.
import re
print(re.findall('[a-z]+', 'Life is too short.'))
Life의 경우 대문자 L이 정규식에 일치하지 않아 제외되었다.
finditer
정규식에 일치한 모든 문자열을 반복 가능한 객체(iterator)로 돌려준다.
import re
print(re.finditer('[a-z]+', 'Life is too short.'))
iterator 객체는 for문을 통해 출력할 수 있다.
import re
for r in re.finditer('[a-z]+', 'Life is too short.'):
print(r)
참고 문서