Как проверить минимальную / максимальную длину в нескольких точках в регулярном выражении - PullRequest
0 голосов
/ 22 января 2019

Я пытаюсь подтвердить адрес электронной почты.Имя пользователя, домен и TLD должны состоять только из цифр и букв и иметь длину от 3 до 20.Я получил это как

[a-zA-Z0-9]{3,20}

Итак, когда я хочу использовать это, чтобы проверить все 3 части письма, я подумал бы сделать это следующим образом:

[a-zA-Z0-9]{3,20}\+@[a-zA-Z0-9]{3,20}\+\.[a-zA-Z0-9]{3,20}

Однако это не подтверждается.Есть ли способ проверить минимальную / максимальную длину один раз, а не в 3 разных точках?

Я пытаюсь проверить электронное письмо: testuser@testdomain.com

Я пишу этоиспользуя python3 и данные считываются из .csv

Ответы [ 2 ]

0 голосов
/ 22 января 2019

([a-zA-Z0-9]{3,20})@([a-zA-Z0-9]{3,20})[.]([a-zA-Z0-9]{3,20})

с использованием https://regex101.com

0 голосов
/ 22 января 2019

«+» приводит к тому, что электронные письма не совпадают , если «+» не находится в этой позиции:

Это то, что вы хотите:

[a-zA-Z0-9]{3,20}@[a-zA-Z0-9]{3,20}\.[a-zA-Z0-9]{3,20}

Чтобы помочь написать регулярное выражение, этот сайт спасает жизнь: https://regex101.com/

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