[python] 정규표현식을 이용한 이메일 형식인 문자열 검증

이메일 주소는 많은 애플리케이션에서 사용되는 중요한 정보이기 때문에, 이메일 주소 형식이 유효한지를 검증하는 것은 중요한 작업입니다. 이 때 정규표현식을 사용하면 간단하게 이메일 주소의 형식을 검증할 수 있습니다. 이번 포스트에서는 Python에서 정규표현식을 이용하여 이메일 주소 형식인 문자열을 검증하는 방법에 대해 알아보겠습니다.

정규표현식 패턴

이메일 주소의 형식은 다음과 같습니다.

영숫자, 하이픈(-), 언더스코어(_), 마침표(.)로 이루어진 로컬 파트 + @ 기호 + 도메인 파트

로컬 파트(local part)는 @ 기호 이전에 올 수 있는 문자열이고, 도메인 파트(domain part)는 @ 기호 이후에 올 수 있는 문자열입니다.

import re

email_pattern = re.compile(r'^[\w.-]+@[a-zA-Z]+\.[a-zA-Z]+$')

위의 코드에서는 이메일 주소가 위의 형식과 일치하는지를 검사하는 정규표현식 패턴을 정의한 후, re.compile 함수를 사용하여 패턴을 컴파일합니다.

이메일 주소 검증 함수

def validate_email(email):
    if email_pattern.match(email):
        return True
    else:
        return False

위의 코드는 주어진 이메일 주소를 입력으로 받아, 해당 주소가 형식에 맞는지를 검증하는 함수입니다. email_pattern.match 함수를 이용하여 주어진 주소가 패턴과 일치하는지를 확인합니다.

사용 예제

email1 = "hello@example.com"
email2 = "invalid-email"

print(validate_email(email1))  # True
print(validate_email(email2))  # False

위의 코드는 validate_email 함수를 이용하여 주어진 두 이메일 주소를 검증한 결과를 출력하는 예제입니다. email1은 유효한 이메일 주소 형식이므로 True가 출력되고, email2는 유효하지 않은 형식이므로 False가 출력됩니다.

마무리

이번 포스트에서는 Python에서 정규표현식을 이용하여 이메일 주소 형식인 문자열을 검증하는 방법에 대해 알아보았습니다. 정규표현식을 사용하면 간단하게 이메일 주소의 형식을 검증할 수 있으며, 이를 활용하여 신뢰할 수 있는 애플리케이션을 개발하는 데 도움이 될 것입니다.

참조: Python Regular Expression HOWTO