Подскажите регулярку для проверки email

  • Автор темы Автор темы FamilyMan
  • Дата начала Дата начала

FamilyMan

Client
Регистрация
14.09.2014
Сообщения
32
Реакции
1
Баллы
8
Здравствуйте! Кто-нибудь знает рабочую регулярку для проверки корректности email? Использовал данную, но она отрабатывает не совсем верно.
Код:
Развернуть Свернуть Копировать
[\.\-_A-Za-z0-9]+?@[\.\-A-Za-z0-9]+?[\.A-Za-z0-9]{2,}
 
\S+@\S+\.\S{2}- в том случае если ваши почты имеют только 2 символа после точки (.ru)

либо используйте вашу, но потом доп. обработкой убрать точку: \.(?=(\s|$))

Но в любом случае, для создания более точной регулярки нужно исходить из материала(контента), с которого нужно извлечь почтовики.
 
  • Спасибо
Реакции: FamilyMan
\S+@\S+\.\S{2}- в том случае если ваши почты имеют только 2 символа после точки (.ru)

либо используйте вашу, но потом доп. обработкой убрать точку: \.(?=(\s|$))

Но в любом случае, для создания более точной регулярки нужно исходить из материала(контента), с которого нужно извлечь почтовики.
Вот еще например: регулярка пропускает такие сочетания user.options@0aplg68, --Rating@Mail.ru. Не подскажите, как сделать так, чтобы точка обязательно ставилась где-то после @, а также исключить любые символы кроме букв и цифр?
 
С буквами разобрался, а вот с точкой после @ требуется помощь
 
Не вижу точки после @ в примерах или я чего то не понял. Приведите ряд примеров, или лучше кусок контента из которого парсите почту.
 
Не вижу точки после @ в примерах или я чего то не понял. Приведите ряд примеров, или лучше кусок контента из которого парсите почту.
Дело в том, что я заходу каждый раз на абсолютно рандомные сайты, они все разные, и мне нужно по регулярке взять первое попавшееся совпадение. Пример таков:
user.options@0aplg68 - это тоже парсится по данной регулярке, хотя по логике после @ отсутсвует точка, а нужно чтобы была обязательно. Как например mail@mail . com .
 
Код:
Развернуть Свернуть Копировать
[A-Za-z0-9_\.\-]+@[A-Za-z0-9\.\-]+\.[A-Za-z0-9]{2,}
 
http://stackoverflow.com/a/5342460/1574977

Не тестил, но что-то мне подсказывает, что всё будет хорошо, т.к. это внутри .net)

PS: хотя, конечно, это не поможет парсить адреса, но зато как валидатор - сгодится
 
  • Спасибо
Реакции: FamilyMan
http://stackoverflow.com/a/5342460/1574977

Не тестил, но что-то мне подсказывает, что всё будет хорошо, т.к. это внутри .net)

PS: хотя, конечно, это не поможет парсить адреса, но зато как валидатор - сгодится
Годно. Только я использовал регулярку из первого примера, убрал знаки "-" и вроде парсит как нужно. Решил обойтись без кода, так как C# только изучаю)
Код:
Развернуть Свернуть Копировать
^([\w\.]+)@([\w]+)((\.(\w){2,4})+)$
 
Только я использовал регулярку из первого примера, убрал знаки "-" и вроде парсит как нужно.
Код:
Развернуть Свернуть Копировать
^([\w\.]+)@([\w]+)((\.(\w){2,4})+)$
Такая регулярка не отпарсит мыла вида:
 

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)