JAMONGPROJECT

[DAY23] DB연동과 정규식 본문

Challenge/FASTCAMPUS 30일 챌린지

[DAY23] DB연동과 정규식

JAMONGPROJECT 2023. 3. 14. 08:05


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에 맞는 마지막 인덱스
 
<re.Match object; span=(2, 8), match='python'>
 
 
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'>

 


 

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.

http://bit.ly/3Y34pE0

 

#패스트캠퍼스 #패캠챌린지 #수강료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
Comments