[python] 정규표현식을 이용한 전화번호 추출

정규표현식은 텍스트에서 원하는 패턴을 찾기 위해 사용되는 강력한 도구입니다. 이번 포스트에서는 파이썬의 re 모듈을 사용하여 전화번호를 추출하는 방법을 알아보겠습니다.

1. 모듈 가져오기

먼저, re 모듈을 가져와서 사용할 준비를 해야 합니다. 다음과 같이 코드를 작성하여 모듈을 가져옵니다.

import re

2. 전화번호 추출하기

전화번호는 보통 형식이 정해져 있습니다. 우리의 목표는 이러한 형식에 맞는 전화번호를 찾는 것입니다. 예를 들어, 전화번호는 일반적으로 다음과 같은 형식을 가집니다.

정규표현식을 사용하여 이러한 패턴을 찾아내는 함수를 작성해 보겠습니다.

def extract_phone_numbers(text):
    pattern = r'\(?\d{3}\)?[-.\s]?\d{3}[-.\s]?\d{4}'
    matches = re.findall(pattern, text)
    return matches

위의 함수는 text에서 전화번호 패턴에 맞는 문자열을 찾아내어 리스트로 반환합니다. 패턴은 다음과 같이 정의되었습니다.

3. 예제 실행하기

이제 위에서 작성한 함수를 사용하여 예제를 실행해 보겠습니다.

text = "저의 전화번호는 (012) 345-6789입니다. 다른 번호는 012-345-6789 또는 012 345 6789입니다."
phone_numbers = extract_phone_numbers(text)
print(phone_numbers)

위의 코드를 실행하면 다음과 같은 결과가 출력됩니다.

['(012) 345-6789', '012-345-6789', '012 345 6789']

마무리

정규표현식을 사용하면 텍스트에서 원하는 패턴을 찾는 작업이 간단하고 효율적으로 수행될 수 있습니다. 위의 예제를 활용하여 원하는 형식의 전화번호를 추출해보세요.

자세한 내용은 Python 공식 문서를 참조해주세요.