728x90
정규 표현식 실습을 해보겠습니다.
import re
#re.compile()를 통해 정규표현식을 컴파일 하여 변수에 저장한 후 사용가능
p = re.compile('[a-z]+')#알파벳 소문자가 1부터 여러개까지를 의미
m = p.match('python')
print(m)
print(m.group())
'python'전부 매치됨을 확인할 수 있습니다.
m = p.match('Use python')
print(m) #None
match함수는 시작 부분부터 일치 패턴을 찾아서 'Use python'와 매치가 안됩니다
결국 None이 출력됩니다.
p = re.compile('[가-힣]+')
m = p.match('파이썬')
print(m)
[가-힣]은 모든 한글을 뜻합니다.
'파이썬'과 매치됩니다.
p = re.compile('[a-z]+')
m = p.search('Use python')
print(m)
match함수와 달리 search는 첫번째 일치하는 패턴을 찾습니다.
'se'와 매치됩니다.
p = re.compile('[a-zA-Z]+')
m = p.findall('Life is too short, You need Python.')
print(m)
findall은 매치되는 모든 것을 찾아서 리스트로 반환해줍니다.
['Life', 'is', 'too', 'short', 'You', 'need', 'Python']이 출력됩니다.
p = re.compile('[a-zA-Z]+')
m = p.finditer('Life is too short, You need Python.')
for i in m:
print(i)
finditer는 findall과 비슷합니다. 다른 점은 반복 가능한 객체(iterator object)를 반환해 줍니다.
<re.Match object; span=(0, 4), match='Life'>
<re.Match object; span=(5, 7), match='is'>
<re.Match object; span=(8, 11), match='too'>
<re.Match object; span=(12, 17), match='short'>
<re.Match object; span=(19, 22), match='You'>
<re.Match object; span=(23, 27), match='need'>
<re.Match object; span=(28, 34), match='Python'>
다음과 같이 출력합니다.
'파이썬으로 퀀트 프로그램 만들기 project' 카테고리의 다른 글
국내 주식 티커 데이터 크롤링하기_2 - MySQL로 데이터 옮기기 (0) | 2023.09.06 |
---|---|
국내 주식 티커 데이터 크롤링하기_1 (0) | 2023.09.06 |
정규 표현식(정규식) 종류 (0) | 2023.09.05 |
Python, MySQL - 시계열 데이터 처리를 위한 upsert 알아보기_2 (0) | 2023.08.25 |
Python, MySQL - 시계열 데이터 처리를 위한 upsert 알아보기_1 (0) | 2023.08.24 |