[python] 정규표현식을 이용한 이메일 주소 검증
이메일 주소는 형식이 정해져 있는데, 이를 확인하기 위해 정규표현식을 사용할 수 있습니다.
파이썬에서는 re
모듈을 사용하여 정규표현식을 처리할 수 있습니다. 이를 통해 주어진 문자열이 이메일 주소 형식에 맞는지 검증할 수 있습니다.
정규표현식 패턴
이메일 주소를 검증하는 정규표현식 패턴은 다음과 같습니다:
^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$
^[a-zA-Z0-9_.+-]+
: 이메일 주소의 시작부분입니다. 알파벳 대소문자, 숫자, ‘.’, ‘_’, ‘+’, ‘-‘가 포함될 수 있습니다.@
: 이메일 주소의 중간에 위치합니다.[a-zA-Z0-9-]+
: ‘@’ 다음부터 도메인 이름까지입니다. 알파벳 대소문자, 숫자, ‘-‘가 포함될 수 있습니다.\.
: 도메인 이름과 이메일 주소의 뒷부분을 구분하는 점입니다.[a-zA-Z0-9-.]+
: 도메인 이름의 뒷부분입니다. 알파벳 대소문자, 숫자, ‘.’, ‘-‘가 포함될 수 있습니다.$
: 이메일 주소의 끝을 나타냅니다.
파이썬 코드 예시
아래는 파이썬 코드 예시입니다. 입력받은 문자열이 이메일 주소 형식에 부합하는지 검증하는 함수를 작성하였습니다.
import re
def is_valid_email(email):
pattern = r'^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$'
match = re.match(pattern, email)
return match is not None
이제 위의 함수를 사용하여 이메일 주소를 검증해보겠습니다.
email1 = "test@example.com"
email2 = "invalid_email"
email3 = "test@subdomain.example.com"
print(is_valid_email(email1)) # True
print(is_valid_email(email2)) # False
print(is_valid_email(email3)) # True