정규식(Regular Expression)이란?
문자열의 "특정 조건 또는 패턴"을 치환하는 과정을 쉽게 처리할 수 있는 방법을 말한다.
정규식은 모든 컴퓨터 언어에서 공통으로 쓰인다.
정규식(Regular Expression)은 크게 두 가지 방법으로 쓰인다.
p = re.complie('패턴')
p.method(데이터)
re.match() : 문자열의 첫 시작부터 정규식과 매치되는 문자열을 반환해 준다.
import re
data1 = 'dbC dEfG Encore core'
p = re.compile('core')
m = p.match(data1)
print(m)
None
처음부터 일치하는 문자열이 없는 경우 'None'을 반환한다.
p = re.compile('[a-zA-Z]+') #정규 표현식에서 +는 반복의 의미이다.
m = p.match(data1)
print(m)
<re.Match object; span=(0, 3), match='dbC'>
정규식 패턴을 '알파벳 모두'로 바꾸니, 일치하는 문자열을 반환해 주었다.
re.match() 객체의 메서드
data1 = 'dbC dEfG Encore core'
p = re.compile('[a-zA-Z]+')
print(p.match(data1).group()) #해당되는 문자열을 반환해준다.
print(p.match(data1).start()) #문자열의 시작점을 반환해준다.
print(p.match(data1).end()) #문자열의 끝점을 반환해준다.
print(p.match(data1).span()) #문자열의 시작점과 끝점을 반환해준다.
dbC
0
3
(0, 3)
re.search() : 문자열 전체를 검색하여 정규식과 매치되는지 조사한다.
data1 = 'dbC dEfG Encore core'
p = re.compile('core')
p.search(data1)
<re.Match object; span=(11, 15), match='core'>
re.findall() : 일치하는 문장을 찾아서 리스트 형태로 반환해준다.
data1 = 'dbC dEfG Encore core'
p.findall(data1)
['core', 'core']
re.finditer() : 정규식과 매치되는 모든 문자열(substring)을 반복 가능한 객체로 돌려준다.
data1 = 'dbC dEfG Encore core'
m = p.finditer(data1)
for r in m:
print(r)
<re.Match object; span=(11, 15), match='core'>
<re.Match object; span=(16, 20), match='core'>
'플레이데이터 빅데이터 부트캠프 12기 > Python' 카테고리의 다른 글
[플레이데이터 빅데이터 부트캠프]Python 예외처리 (0) | 2022.07.17 |
---|---|
[플레이데이터 빅데이터 부트캠프]Python f-string vs format (0) | 2022.07.17 |
[플레이데이터 빅데이터 부트캠프]Python 문자열 메소드 (0) | 2022.07.10 |
[플레이데이터 빅데이터 부트캠프]Python 반복문 (0) | 2022.07.10 |
[플레이데이터 빅데이터 부트캠프]Python 논리 연산자 (0) | 2022.07.10 |