728x90
정규표현식
정규표현식(Regular Expression)은 특정한 규칙을 가진 문자열의 패턴을 표현하는 데 사용되는 문자열 패턴 매칭 기술이다.
이를 사용하면 문자열 내에서 특정 패턴을 찾거나, 추출하거나, 대체하는 작업을 수행할 수 있다.
import re
정규 표현식 모듈 re 를 사용한다.
- 구조
1. p = re.complie('정규표현식')
2. m = p.match("비교할 문자열") # 주어진 문자열을 처음부터 일치하는지 확인
m = p.search("비교할 문자열") # 주어진 문자열 중에 일치하는 것이 있는지 확인
lst = p.findall("비교할 문자열") # 일치하는 모든 것을 "리스트" 형태로 반환
- 예시)
import re
p = re.compile("s.n") # "s.n" 패턴을 컴파일하여 정규 표현식 객체 P 생성
m = p.match("sun") # "sun" 문자열과 패턴 "s.n"을 비교하여 처음부터 일치하는지 확인
print_match(m)

주요 메타 문자
- . (s.n) : 하나의 문자를 의미 ex) sun, son (o)
- ^ (^in) : 문자열의 시작 ex) install, inside(o)
- $ ($ve) : 문자열의 끝 ex) save, curve (o)
1) match, search, findall 차이
- match : 처음부터 일치하는지 확인
- search : 주어진 문자열 중 일치하는게 있는지 확인
- findall : 일치하는 모든 것을 "리스트" 형태로 반환
import re
p = re.compile("s.n")
def print_match(m):
if m:
print(m.group())
else:
print('매칭되지 않음')
m = p.match("sun") # match : 처음부터 일치하는지 확인
print_match(m)
m = p.search("sunny") # search : 주어진 문자열 중에 일치하는게 있는지 확인
print_match(m)
lst = p.findall("sunny") # findall : 일치하는 모든 것을 리스트 형태로 반환
print(lst)


2) 문자열 반환
- m.group() : 일치하는 문자열 반환
- m.string : 입력받은 문자열 반환
- m.start() : 일치하는 문자열의 시작 index
- m.end() : 일치하는 문자열의 끝 index
- m.span() : 일치하는 문자열의 시작 / 끝 index
import re
p = re.compile("s.n")
# .(s.n) : 하나의 문자를 의미 ex) sun, son (o)
# ^(^in) : 문자열의 시작 ex) install, inside(o)
# $($ve) : 문자열의 끝 ex) save, curve (o)
def print_match(m):
if m:
print("m.group():" ,m.group()) # 일치하는 문자열 반환
print("m.string():" ,m.string) # 입력받은 문자열 반환
print("m.start():" ,m.start()) # 일치하는 문자열의 시작 index
print("m.end():" ,m.end()) # 일치하는 문자열의 끝 index
print("m.span():" ,m.span()) # 일치하는 문자열의 시작 / 끝 index
else:
print('매칭되지 않음')
# m = p.match("sun") # match : 처음부터 일치하는지 확인
# print_match(m)
m = p.search("sunny") # search : 주어진 문자열 중에 일치하는게 있는지 확인
print_match(m)

728x90
'Web > Crawling' 카테고리의 다른 글
| [Web] API 크롤링 - 서울 열린데이터광장 유동인구 API 크롤링 (0) | 2023.08.13 |
|---|---|
| [Web] 국가별 인구 데이터 크롤링 with Scrapy - 1 (1) | 2023.08.09 |
| [Web] 웹 크롤링, 스크래핑 BeautifulSoup - 음원 차트 출력 (0) | 2023.08.08 |
| [Web] 웹 크롤링,스크래핑 Basic - 3. User-Agent (0) | 2023.08.08 |
| [Web] 웹 크롤링,웹 스크래핑 Basic - 1 . requests 라이브러리 (0) | 2023.08.06 |