Шаблон сопоставления адреса электронной почты с использованием регулярных выражений - PullRequest
1 голос
/ 02 мая 2011

Фильтрация адресов электронной почты с помощью регулярных выражений: я новичок в регулярных выражениях и надеялся, что кто-то сможет помочь.

Я пытаюсь сопоставить шаблон строки адреса электронной почты в следующем формате:

FirstName.LastName@gmail.com

Я хочу быть уверен, что где-то перед символом «@» есть точка и что символы после символа «@» соответствуют gmail.com

Спасибо, Бред

Ответы [ 5 ]

3 голосов
/ 02 мая 2011

Вам нужно несколько символов до и после точки, поэтому я бы предложил .+\..+@gmail\.com.

.+ означает, что любые символы (.) Могут появляться 1 или более раз (+)
\. означает символ точки;экран с обратной косой чертой для подавления специального значения .
@gmail и com должны точно совпадать.

См. также Справочник по синтаксису регулярных выражений

РЕДАКТИРОВАТЬ: правила gmail для имени учетной записи допускают только латинские буквы, цифры и точки, поэтому лучше использовать регулярное выражение
[a-zA-Z0-9]+\.[a-zA-Z0-9]+@gmail\.com

1 голос
/ 18 июня 2018

проверьте действующий адрес электронной почты

^ (= [A-Za-Z0-9] [A-Za-Z0-9 @ -.]? {5253}) (?!.? [.] * {2}) ^ [ A-Za-Z0-9 .-] + [A-Za-Z0-9 _-] @ (= [] {1}?.?.) ( [?!.? - ] {2}) [A-Za-Z0-9] [A-Za-Z0-9 .-] + ([AZ] {2,} |.. [0-9] {1}) $ 1007 * *

обязательные правила:

  • должен начинаться с буквенно-цифрового символа
  • может содержать только буквенно-цифровые символы и символ @ ._- и содержать не более 253 символов
  • не может иметь 2 последовательных.
  • символ до @ может быть только буквенно-цифровым и ._-
  • у большинства есть @ в середине
  • нужно иметь хотя бы 1. в доменной части
  • не может иметь двойной - в доменной части
  • может содержать только буквенно-цифровой и .- символ в доменной части
  • необходимо завершить с действительным расширением 2 или более букв
  • добавлена ​​поддержка ip (test@1.1.1.1)
0 голосов
/ 02 мая 2011

Вам даже не нужно регулярное выражение, поскольку ваши требования довольно специфичны.Не уверен, какой язык вы используете, но большинство из них поддерживает разделение на @ и проверку на ..В питоне:

name, _, domain = email.partition('@')
if '.' in name and domain == 'gmail.com':
    # valid
0 голосов
/ 02 мая 2011

Вы не сказали нам, какой тип регулярного выражения вам нужен, однако этот пример подойдет большинству из них:

.*\..*@gmail.com
0 голосов
/ 02 мая 2011

В предположении стиля Unix, где . - любой символ: .*\..*@gmail\.com

Редактировать: экранирование . в домене

...