정규 표현식 (Regular expression, 간단히 regexp, regex)
특정한 규칙을 가진 문자열의 집합을 표현하는 데 사용하는 형식 언어
ex) 주민 등록 번호 , 이메일 주소 aa@a.com , IP 주소 체계 등
파이썬 정규표현식 라이브러리 : re
- comple(패턴) : 패턴 입력
- match (문자열) : 주어진 문자열로 확인
- group() : 일치하는 문자열 반환
import re
p = re.compile('ca.e')
# . : 하나의 문자 의미. (ca.e) > care, case 등
# ^ : 문자열의 시작. (^de) > desk, dest 등
# $ : 문자열의 끝. (se$) > base, case 등
m = p.match("case")
# print(m.group()) # 매치되지 않으면 에러 발생
if m:
print(m.group())
else:
print("Not matched")
- search(문자열) : 주어진 문자열 중에 일치하는 게 있는지 확인
- m.string : 입력받은 문자열
- m.start() : 일치하는 문자열의 시작 index
- m.end() : 일치하는 문자열의 끝 index
- m.span() : 일치하는 문자열의 시작 / 끝 index
- search(문자열) : 주어진 문자열 중에 일치하는지 확인
def Print_Match(m):
if m:
print("group: ", m.group()) # 일치하는 문자열 반환
print("string", m.string) # 입력받은 문자열
print("start()", m.start()) # 일치하는 문자열의 시작 index
print("end()", m.end()) # 일치하는 문자열의 끝 index
print("span()", m.span()) # 일치하는 문자열의 시작 / 끝 index
else:
print("Not matched")
p = re.compile('ca.e')
m = p.search("good care") # search(): 주어진 문자열 중에 일치하는지 확인
Print_Match(m)
# 결과
# group: care
# string good care
# start() 5
# end() 9
# span() (5, 9)
- findall(문자열) : 일치하는 모든 것을 리스트 형태로 반환
p = re.compile('ca.e')
lst = p.findall("careless careee case cases") # findall : 일치하는 모든 것을 리스트 형태로 반환
print(lst)
# 결과 : ['care', 'care', 'case', 'case']
더 많은 내용을 보려면 구글링해야 할듯
'프로그래밍&IT > 파이썬' 카테고리의 다른 글
[파이썬] 웹 스크래핑.5 - Selenium 기본 (0) | 2021.10.25 |
---|---|
[파이썬] 웹 스크래핑.4 - CSV 기본 (0) | 2021.10.24 |
[파이썬] 웹 스크래핑.3 - BeautifulSoup4 - 2. find_all [+ http 메소드:get,post] (0) | 2021.10.23 |
[파이썬] 웹 스크래핑.3 - BeautifulSoup4 - 1. 설치 및 기본적인 찾기 (0) | 2021.10.22 |
[파이썬] 웹 스크래핑.1 - requests (0) | 2021.10.20 |