사용자가 입력 한 전자 메일 주소를 정규식과 비교하여 검사하는 프로그램을 작성했습니다. 사용자가 정규식과 일치하지 않는 잘못된 이메일을 입력하면 사용자에게 이메일이 틀렸다는 것을 알리는 print 문이 실행됩니다. 내가 뭘하고 싶은지는 왜 전자 메일이 틀린 지, 즉 사용자가 입력 한 전자 메일이 일치하지 않는 정규 표현식 부분을 식별 할 수 있는지를 말할 수 있어야합니다. 나는 이것을하는 방법을 확신하지 못한다.문자열의 어느 부분이 정규식과 일치하지 않는지 찾기
import re
student = []
while True:
email = input("Please enter the email, for eg [email protected]")
if not re.match("^[A-Za-z0-9]{5,25}@{1}[A-Za-z]{5,15}[.]{1}[A-Za-z {3,10}$", email):
print("Sorry incorrect format, please re-enter email")
else:
student.append(email)
print(student)
break
일치 당신이 방법으로 표시 할 메시지의 종류는? –
정규식이 일치하거나 일치하지 않습니다 ... 회색 영역이 없습니다. 코드에서 전자 메일 주소를 구문 분석하고 특정 문제를보고해야합니다. 실제로는 사용자에게 그다지 도움이되지 않을 것입니다. –
유효한 전자 메일 주소를 테스트하는 정규식은 점으로 구분 된 이름, 추가 기호, 여러 세그먼트 화 된 도메인 이름과 같은 모든 범위의 가능성을 허용하지 않습니다. 예를 들면 :'Ro.Yo.Me + stackoverflow @ ix.netcom.com'은 표준에 따라 완전하게 유효하지만 테스트에 실패합니다. 또한 표현식에 오류가 있으며 마지막 문자 클래스에 닫는 대괄호가 없습니다. –