Две реализации проверки «является ли строка чем-то похожим на email».
Какая ближе к духу KISS / Zen of Python?
junior
correct_vs_wrong
#24
Вариант 1
def is_email(s: str) -> bool:
if "@" not in s:
return False
local, domain = s.rsplit("@", 1)
if not local or "." not in domain:
return False
return True
Вариант 2
def is_email(s: str) -> bool:
return bool(__import__("re").match(
r"^(?=.{1,254}$)(?=.{1,64}@)[A-Za-z0-9!#$%&'*+/=?^_`{|}~-]+"
r"(?:\.[A-Za-z0-9!#$%&'*+/=?^_`{|}~-]+)*@[A-Za-z0-9]"
r"(?:[A-Za-z0-9-]{0,61}[A-Za-z0-9])?(?:\.[A-Za-z0-9]"
r"(?:[A-Za-z0-9-]{0,61}[A-Za-z0-9])?)+$", s
))
Чтобы решить вопрос и сохранить попытку — войди.