패스트캠퍼스 한 번에 끝내는 파이썬 웹 개발 초격차 패키지 pt2 - 파이썬 re모듈 사용법

group(index)

그룹으로 만든 매칭결과 가져오기

sub(문자열 교체)

후방탐색

실습

  • 전화번호 형식을 검사하는 정규표현식
import re

# 전화번호 정규 표현식 연습
# https://regexr.com/63bls

# 1. Group 그룹

# 1) 매칭되는 문자열 한개
str1 = '010-2343-3333'
result = re.match('\d{2,3}-\d{3,4}-(\d{4})$' , str1)
print(result.group(1))


# 2) 매칭되는 문자열 여러개
str2 = '010-2343-7888,010-2343-1234,010-2343-5678,010-2343-9999,010-2343-2222'
results = re.finditer('\d{2,3}-\d{3,4}-(\d{4})(?=,|$)',str2)

for idx,result in enumerate(results,1):
    print(f'{idx}. {result.group(1)}')

# 2. Substitution (교체)
str3 = '010-2343-3333' 
result = re.sub('(?<=\d{3}-\d{4}-)\d{4}',"****",str3) 
# 후방탐색의 경우 범위를 고정해서 정의해야함 {3} {4}
# 전방탐색의 경우 범위를 유연하게 정해도 오류가 발생하지 않음 {2,3}
print(result)

좋은 웹페이지 즐겨찾기