Python 라이브러리 - re

source code

공식 문서 링크

정규 표현식 관련 링크

정규표현식(Regular Expressions)

정규 표현식이란 복잡한 문자열을 처리할 때 사용하는 기법으로 파이썬, C, java 등 문자열을 처리해야 하는 다양한 곳에서 활용할 수 있다.
파이썬에서 정규표현식을 이용하려면 re 모듈을 사용한다.

만약 주민등록 번호 뒷자리를 *로 바꾸는 프로그램을 작성한다면 아래와 같이 작성할 수 있다.

data = """
안녕하세요 저는 이윤태입니다.
제 주민등록 번호는 970701-1234567
만약 다음 8월에 태어났다면 970801-1234567 겠네요.
"""

result = []
for line in data.split("\n"):
    word_result = []
    for word in line.split(" "):
        if len(word) == 14 and word[:6].isdigit() and word[7:].isdigit():
            word = word[:6] + "-" + "*******"
        word_result.append(word)
    result.append(" ".join(word_result))
print("\n".join(result))
# 안녕하세요 저는 이윤태입니다.
# 제 주민등록 번호는 970701-*******
# 만약 다음 8월에 태어났다면 970801-******* 겠네요.

re 모듈

정규표현식과 re 모듈을 사용하면 아래처럼 더 간단하게 작성할 수 있다.

import re

pat = re.compile("(\d{6})[-](\d{7})")
print(pat.sub("\g<1>-*******", data))
# 안녕하세요 저는 이윤태입니다.
# 제 주민등록 번호는 970701-*******
# 만약 다음 8월에 태어났다면 970801-******* 겠네요.

 

 

 

'Python > Python' 카테고리의 다른 글

Python 라이브러리 - calendar  (0) 2023.05.11
Python 라이브러리 - datetime  (0) 2023.05.11
Python 라이브러리 - textwrap  (1) 2023.05.10
Python에서의 캡슐화  (0) 2023.04.28
Subtype in Python  (0) 2023.03.30