[python] 정규표현식을 이용한 전화번호 형식인 문자열 추출하기

정규표현식(Regular Expression)은 문자열에서 특정한 패턴을 찾거나 매칭시킬 때 사용하는 강력한 도구입니다. 이번에는 파이썬에서 정규표현식을 이용하여 전화번호 형식인 문자열을 추출하는 방법에 대해 알아보겠습니다.

1. 전화번호 정규표현식 패턴 만들기

전화번호는 일반적으로 다음과 같은 형식을 갖추고 있습니다.

이를 표현하는 정규표현식은 다음과 같이 만들 수 있습니다.

import re

pattern = r'\(\d{3}\) \d{3}-\d{4}|\d{3}-\d{3}-\d{4}'

위의 정규표현식 패턴은 괄호로 묶인 세 자리 숫자, 한 칸의 공백, 세 자리 숫자, 하이픈, 네 자리 숫자 패턴을 매칭시킵니다.

2. 문자열에서 전화번호 형식 추출하기

이제 만들어진 정규표현식을 이용하여 문자열에서 전화번호 형식인 부분을 추출해보겠습니다.

text = "안녕하세요. 제 전화번호는 (010) 123-4567이고, 집 전화번호는 02-9876-5432입니다."

phone_numbers = re.findall(pattern, text)

for number in phone_numbers:
    print(number)

위의 코드는 입력된 텍스트에서 정규표현식에 매칭되는 모든 부분을 찾아서 리스트로 반환합니다. 그리고 리스트의 각 항목을 출력하는 예제입니다.

실행 결과는 다음과 같을 것입니다.

(010) 123-4567
02-9876-5432

3. 결론

정규표현식은 문자열에서 특정한 패턴을 찾아내는 데 유용한 도구입니다. 이를 이용하여 전화번호 형식인 문자열을 추출하는 방법을 알아보았습니다. 정규표현식을 사용하면 다양한 형태의 문자열에서 원하는 정보를 추출해낼 수 있습니다.

참고 자료