<aside>
💬 lv0
, 정규표현식
주어진 문자열이 유효한 이메일 주소인지 확인하는 함수를 작성해주세요. 이메일 주소는 일반적으로 local-part@domain
형식을 따릅니다. 여기서 local-part
는 대소문자, 숫자, 특정 특수 문자(.
, _
, +
)를 포함할 수 있고, domain
은 대소문자, 숫자, 하이픈(-
)과 점(.
)을 포함할 수 있습니다. domain
의 마지막 부분은 점(.
)으로 구분된 두 글자 이상의 알파벳 문자열이어야 합니다.
import re
만 입력하여 한 번 실행하면 그 다음 코드부터 import re
를 하지 않아도 사용 가능합니다. solution 함수 내에 re 모듈을 사용하셔도 애러가 나지 않습니다. 코드 내에는 solution 함수만 있어야 하므로 이 2개가 있지 않도록 주의해주세요. 어려우신 분은 제주코딩베이스캠프
유튜브 채널 33번 문제 영상을 참고해주세요.입력 (문자열) | 출력 (유효 여부) |
---|---|
[email protected] |
True |
[email protected] |
True |
user@domain |
False |
@example.com |
False |
첫 번째와 두 번째 예시는 유효한 이메일 형식을 따릅니다. 세 번째 예시는 domain
부분이 유효한 형식을 따르지 않으며, 네 번째 예시는 local-part
가 없어 유효하지 않습니다.
</aside>
import re **#1 정규표현식 모듈 호출**
def solution(data):
pattern = r"^[a-zA-Z0-9._+]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$" **#2 패턴 정의**
return bool(re.match(pattern, data)) **#3 match 함수 사용**
정규표현식 모듈 호출
정규표현식의 내장 함수를 사용하기 위해 re
를 import
합니다.
패턴 정의
이메일 주소 형식을 검증하기 위해 패턴을 작성합니다. 로컬, 도메인, 최상위 도메인 부분에 걸쳐 나눠 패턴을 작성해줍니다.
match 함수 사용
match
함수를 사용해 주어진 데이터와 작성한 패턴이 알맞은지 검사하여 bool
함수를 통해 True
, False
를 반환합니다.
정규표현식
bool 함수
bool()
bool
함수는 입력값이 참
인지 거짓
인지 판단하여 반환하는 함수입니다.x = 10
y = 5
print(bool(x > y)) # 출력: True
match 함수
re.match()
match
함수는 정규표현식을 사용하여 주어진 문자열에서 패턴을 찾는 함수입니다.