반응형
안녕하세요? 뜻밖의 행운입니다.
패스트 캠퍼스 도전 44일차 이제 정말 얼마 남지 않았습니다.
그리고 놀라운 것은 글을 쓰는 시점 저는 휴가지에 와 있는데
이곳에서도 계속해서 하고 있다는 것입니다.
정말 자비없는 패스트 캠퍼스 도전이네요
그래도 44일 동안 하루도 빠짐 없이 기를 모아서 했는데
이제 와서 그만둘 수 없죠 잘 해보도록 하겠습니다.
오늘은 지금까지 배운 정규표현식을 파이썬에서 잘 사용해보는 방법에 대해서 배웠습니다.
오늘 배운 내용을 요약하면 우선 re 모듈의 주요 매서드에 대해서 배웠습니다.
그리고 match 객체의 매서드에서도 배웠습니다.
실제로 어떻게 동작하는지 살펴보도록 하겠습니다.
import re
# 1. re 모듈의 메서드
str = 'love people around you, love your work, love yourself'
# 1) match : 문자열의 처음부터 검색 (결과 : 1개의 match 객체)
result = re.match('love', str)
print(result)
# 2) search : 문자열의 전체를 검색 (결과 : 1개의 match 객체)
result = re.search('people', str)
print(result)
# 3) findall : 문자열의 전체를 검색 (결과 : 문자열 리스트)
results = re.findall('love', str)
print(results)
# 4) finditer : 문자열의 전체를 검색 (결과 : match 객체 이터레이터)
results = re.finditer('love', str)
print(results)
for result in results:
print(result)
# 5) fullmatch 패턴과 문자열이 완벽하게 일치하는지 검사
str2 = 'Hey Guys, read books'
result = re.fullmatch('.*', str2)
print(result)
# 2. match object의 메서드
result = re.search('people', str)
# 1) group() : 매칭된 문자열을 반환
print(result.group())
# 2) start() : 매칭된 문자열의 시작 위치 반환
print(result.start())
# 3) end() : 매칭된 문자열의 끝 위치 반환
print(result.end())
# 4) span() : 매칭된 문자열의 (시작, 끝) 위치 튜플을 반환
print(result.span())
각각 내용을 간략하게 보면
아래 str 변수에 예문을 담고 그 예문으로 계속 re 모듈을 결과를 보겠습니다.
str = 'love people around you, love your work, love yourself'
# 1) match : 문자열의 처음부터 검색 (결과 : 1개의 match 객체)
result = re.match('love', str)
print(result)
love가 처음부터 나오기 때문에 span 0, 4가 나오는 것을 볼 수있습니다.
# 2) search : 문자열의 전체를 검색 (결과 : 1개의 match 객체)
result = re.search('people', str)
print(result)
네 people 위치하는 5, 11이 나오는 것을 볼 수 있습니다.
str = 'love people around you, love your work, love yourself'
# 3) findall : 문자열의 전체를 검색 (결과 : 문자열 리스트)
results = re.findall('love', str)
print(results)
예문에서 love만 추출 되어서 나왔습니다.
str = 'love people around you, love your work, love yourself'
# 4) finditer : 문자열의 전체를 검색 (결과 : match 객체 이터레이터)
results = re.finditer('love', str)
print(results)
기존의 위치나 문자가 나오는 것이 아니라 특이한 값이 나오는 것을 볼 수 있습니다.
알아볼 수 있는 내용으로 보려고 하면 for 로 받아서 하나하나 출력을 해줘야 합니다.
보이죠? 예문에 love가 3번이 들어갔고 각각 어디에서 있었는지 나옵니다.
역시나 배우는 내용들이 점점 크롤링 프로젝트를 진행 할것 같은 느낌이 빡 옵니다.
반응형
'IT > 프로그래밍' 카테고리의 다른 글
[파이썬] multiprocessing 모듈 사용법 [패스트 캠퍼스 챌린지 49일] (0) | 2022.03.13 |
---|---|
[파이썬] threading 모듈 사용법 [패스트 캠퍼스 챌린지 48일] (0) | 2022.03.12 |
[파이썬] 동시성과 병렬성[패스트 캠퍼스 챌린지 47일] (0) | 2022.03.11 |
[파이썬] re 모듈 정규표현식 실습 문제 [패스트 캠퍼스 챌린지 46일] (0) | 2022.03.10 |
[파이썬] re 모듈 사용방법 [패스트 캠퍼스 챌린지 45일] (0) | 2022.03.09 |
[파이썬] 정규표현식 추가 [패스트 캠퍼스 챌린지 43일] (0) | 2022.03.07 |
[파이썬] 정규표현식 [패스트 캠퍼스 챌린지 42일] (0) | 2022.03.06 |
[파이썬] 파이썬에서 SQLite3 사용하기 [패스트 캠퍼스 챌린지 41일] (0) | 2022.03.05 |
[파이썬] 데이터베이스 파트 SQL DML [패스트 캠퍼스 챌린지 40일] (0) | 2022.03.04 |
[파이썬] 데이터베이스 파트 SQL DML [패스트 캠퍼스 챌린지 39일] (0) | 2022.03.03 |