[Python] 파이썬 코딩 도장 - 43.5 연습문제: 이메일 주소 검사하기
연습 문제: 보러 가기
43.5 연습문제: 이메일 주소 검사
다음 소스 코드를 완성하여 주어진 이메일 주소가 올바른지 판단하도록 만드세요. emails 리스트에서 앞의 다섯 개는 올바른 형식이며 마지막 세 개는 잘못된 형식입니다.
import re
p = re.compile(___________________________________)
emails = ['[email protected]', '[email protected]', # 올바른 형식
'[email protected]', '[email protected]', # 올바른 형식
'[email protected]', # 올바른 형식
'@example.com', 'python@example', 'python@example-com'] # 잘못된 형식
for email in emails:
print(p.match(email) != None, end=' ')
실행 결과
True True True True True False False False
정답
'^[a-zA-Z0-9+-_.]+@[a-zA-Z0-9-]+.[a-zA-Z0-9-.]+$'
해설
이메일은 계정@도메인.최상위도메인 형식이며 계정에 +, -, _, . 등의 문자를 붙이기도 합니다. 또한, 도메인에 - 문자를 사용할 수 있고, 최상위 도메인이 여러 단계일 수도 있습니다. 이러한 규칙에 맞추어서 정규표현식을 작성합니다.
^[a-zA-Z0-9+-_.]+@
는 이메일에서 @
을 기준으로 계정을 나타내며 앞에 ^
가 붙었으므로 계정이 맨 앞에 오는지 판단합니다.
또한, [a-zA-Z0-9+-_.]+
와 같이 영문 대소문자, 숫자, +, -, _, .
으로 되어 있어야 하고 문자 1개 이상
인지 판단합니다.
[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$
는 도메인과 최상위 도메인(TLD)를 나타냅니다.
먼저 [a-zA-Z0-9-]+
와 같이 영문 대소문자, 숫자, -이면서 문자 1개 이상인지 판단합니다.
그리고 중간에 \.
를 넣어서 도메인.최상위도메인 형식인지 판단합니다.
여기서 .
은 정규표현식에 사용하는 특수 문자이므로 앞에 반드시 \를 붙여야 합니다.
특히 최상위 도메인은 여러 단계일 수도 있으므로 [a-zA-Z0-9-.]+$
와 같이 범위에 .을 넣어줍니다. 또한, $를 붙여서 최상위 도메인이 마지막에 오는지 판단합니다.
Author And Source
이 문제에 관하여([Python] 파이썬 코딩 도장 - 43.5 연습문제: 이메일 주소 검사하기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@cha-suyeon/Python-파이썬-코딩-도장-43.5-연습문제-이메일-주소-검사하기저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)