Найти - Пользователи
Полная версия: Как быстро удалить невалидные email, pandas
Начало » Python для новичков » Как быстро удалить невалидные email, pandas
1
aydat
Всем привет, храню email в pandas.
Сначала пробовал регуляркой скорость отличная, но не смог полностью дописать регулярку

 #удаление невалидных
#data=data[data.Email.str.match('[a-z0-9._-]+@[a-z0-9.-]+\.[a-z]{2,3}')]

пропускает мыла вида:

 macto.macto.@yahoo.com.br
dark...evilx@gmal.com
mkyong@.com.my
.mkyong@mkyong.com
mkyong123@.com.com
mkyong.@gmail.com

Так же пробовал библиотеку validate_email, там скорость не устраивает

Подскажите пжл, как переделать регулярку, чтобы не пропускал плохие емейлы
Rodegast
Попробуй:
 r"""(^[-!#$%&'*+/=?^_`{}|~0-9A-Z]+(\.[-!#$%&'*+/=?^_`{}|~0-9A-Z]+)*|^"([\001-\010\013\014\016-\037!#-\[\]-\177]|\\[\001-011\013\014\016-\177])*")@(?:[A-Z0-9-]+\.)+[A-Z]{2,6}$"""
aydat
Rodegast
Попробуй:

не работает, но я чутка продвинулся

 [a-z0-9]+[a-z0-9-._]+[a-z0-9]@(?:[a-z0-9-]+\.)+[a-z]{2,3}

Только не хочет искать такого формата, может идти только один символ (-_.) подряд

dark…evilx@gmal.com
dark—-evilx@gmal.com
dark____evilx@gmal.com


как можно оптимизировать выражение?

Rodegast
Первая ссылка в гугле: https://habr.com/post/55820/
aydat
Rodegast
Первая ссылка в гугле: https://habr.com/post/55820/

Мне нужно искать не по RFC стандартам, а именно по моему шаблону
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB