mock_sobes
← Чистый код — KISS
junior correct_vs_wrong #24
Две реализации проверки «является ли строка чем-то похожим на email». Какая ближе к духу KISS / Zen of Python?
Вариант 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
    ))
Чтобы решить вопрос и сохранить попытку — войди.