создать строковый формат с помощью re.compile () и расширить, чтобы проверить длину - PullRequest
0 голосов
/ 12 июня 2019

Мне нужно проверить формат и длину письма в ОДНОЙ команде.не хочу использовать

if len(.... ) == ...:

используемый re.compile (некоторые условия)

EMAIL_FORMAT = re.compile(r"[^@]+@[^@]+\.[^@]+")

Я хочу расширить это, чтобы также проверить длину -> нужно оставить в 1 команде, есливозможно

if re.match(EMAIL_FORMAT, _email_variable):
         print("length and format ok")

1 Ответ

0 голосов
/ 12 июня 2019

вы можете использовать необработанный захват и добавить выражение, соответствующее точной длине,

попробуйте это:

EMAIL_FORMAT = re.compile(r"(?=[^@]+@[^@]+\.[^@]+)(?=.{10})")

(измените {10} на любую нужную длину, вы также можете использовать диапазон как {5,25})

ПРИМЕЧАНИЕ: , чтобы быть честным, использование ... and length == гораздо более читабельно

...