티스토리 뷰

카테고리 없음

[Python] 정규표현식

박강균 IT 2021. 12. 7. 16:12

정규표현식 

-특정한 규칙을 가진 문자열의 패턴을 표현하는 데 사용하는 표현식 

-복잡한 문자열을 처리할 때 사용 

-텍스트에서 특정 문자열을 검색하거나 치환할 때 사용 

-파이썬만 아니라 문자열을 사용하는 모든 언어에서 사용 

사용법

-컴파일 하는 방법

 검색할 패턴을 컴파일 하여 사용 

 같은 문자를 여러 번 검색하는 경우에 사용하는 방법

 매번 검색 패턴을 지정하지 않아도 되기 때문에 검색 속도가 빠름

 

-컴파일 하지 않는 방법

 검색할 때마다 패턴을 설정하는 방법

 검색할 패턴이 매번 다른 경우에 사용

-검색 패턴에 raw문자인 r 사용 

 문자열 안에 있는 백슬러시 문자를 특수한 의미를 가진(에스케이프) 문자가 아닌 

 백슬러시 문자 그대로 인식되기 때문

 

#컴파일 하여 사용 
pt = re.compile(r'10')
print(pt.search(data))

#컴파일하지 않고 사용 
print(re.search(r'10',data))

 

정규표현식 실습 예제 

 

import re 
data = '의뢰인 별점 - 총 10점 중 10 다시봐도 명연기. 모든 배우들의 연기가 쫄깃 신고 morn**** 20.05.24'

#문자열 메소드 이용
# print(data.find('101'))
# print(data.index('101'))

#컴파일하여 사용 
# pt = '10'
# cpt = re.compile(pt)
# print(cpt.search(data))

#컴파일 하지 않고 사용 

#검색방법
# print(re.match(pt,data))# 매치 결과가 none인 이유는 match는 처음에 나오는 문자열이여야 값을 반환.
# print(re.search(pt,data))
# print(re.findall(pt,data))
# print(re.finditer(pt,data))

# 검색정보 추출
# r = re.search(pt,data)
# print(re.search(pt, data))
# print(re.search(pt, data).group())
# print(r.start())
# print(r.end())
# print(r.span())

# 메타문자 : [] 문자열 클래스 

# data = '의뢰인 별점 - 총 10점중 10점 다시봐도 명연기. 모든 배우들의 연기가 쫄깃쫄깃스 신고 morn**** 21.12.07'
# #pt = '[a-z0-9]'
# #pt = '[\d][\d]'
# pt = '[\d]+[.][\d]+[.]'
# print(re.search(pt,data))
# print(re.findall(pt,data))

# 메타문자 반복

pt = '([a-zA-Z]+)([*]{2,4})'
print(re.search(pt,data))
print(re.search(pt,data).group())
print(re.search(pt,data).group(1))
print(re.search(pt,data).group(2))

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함