JAMONGPROJECT
[DAY23] DB연동과 정규식 본문
2 정규식
Re 모듈
- re는 정규 표형식을 이용한 문자열 매칭에 사용되는 파이썬 라이브러리다.
- re.compile(정규식 패턴문자열) : 정규식 패턴을 파이썬이 사용 가능한 정규식 객체로 컴파일 해줌. 이를 통해 객체가 된
정규식은 match()와 search() 등에 사용 가능.
- re.search(정규식 패턴 문자열, 대상 문자열) : re.compile()로 객체로 변환된 패턴이나, 정규식 패턴문자열을 대상
문자열에서 찾는 역할을 한다.
- re.match(정규식 패턴 문자열, 대상 문자열) : re.search()와 비슷하나, 문장 처음부터 패턴과 일치하는 문자열만 검색한다.
- re.findall() : search나 match는 패턴과 일치하는 첫번째 문자열만 반환하지만 이는 모든 문자열을 리스트 형태로
반환한다.
- re.sub(pattern, repl, string) : string에서 pattern을 찾아 repl로 치환
- re.split(pattern, string) : pattern을 기준으로 문자열 분리
3 실전예제
import re
p = re.compile("[a-z]+") # 영문자 소문자 여러개
# 012345678
m = p.search("5 python")
print(m) # 2 + 8
# m.start() pattern에 맞는 첫번째 인덱스
# m.end() pattern에 맞는 마지막 인덱스
import re
data = """
park 010-1234-5678
kim 010-1111-2222"""
# 이름 전화번호 1,2 전화번호 끝 4자리
p = re.compile('(\w+)\s(\d+[-]\d+)[-](\d+)')
print(p.sub("\g<2>-**** \g<1>", data))
print('========================')
for i in data.split("\n"): # 3건 공란,2건
m = p.search(i)
if m != None:
print(m.group(2)+"-****"+" "+m.group(1))
010-1234-**** park
010-1111-**** kim
========================
010-1234-**** park
010-1111-**** kim
import re
email = "park@naver.com"
p = re.compile(".*[@].*[.](?=com$|net$).*$")
print(p.match(email))
<re.Match object; span=(0, 14), match='park@naver.com'>
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.
#패스트캠퍼스 #패캠챌린지 #수강료0원챌린지 #환급챌린지 #직장인인강 #직장인자기계발
#패캠인강후기 #패스트캠퍼스후기 #오공완
#한번에끝내는컴퓨터공학전공필수&인공지능심화초격차패키지Online
'Challenge > FASTCAMPUS 30일 챌린지' 카테고리의 다른 글
[DAY25] numpy와 pandas (0) | 2023.03.16 |
---|---|
[DAY24] Numpy와 pandas (0) | 2023.03.15 |
[DAY22] DB연동과 정규식 (0) | 2023.03.13 |
[DAY21] DB연동과 정규식 (0) | 2023.03.12 |
[DAY20] 병렬 처리 (0) | 2023.03.11 |