2015-10-22 4 views
-1

я могу найти основные адреса электронной почты с этим:найти адрес электронной почты с веб-сайта

"[a-zA-Z0-9_.+-][email protected][a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+" 

Но как я могу найти адреса электронной почты, как:

test(at)test.com 
foo[at]bar.com 
[email protected] 
+0

[\ ш - \ + \.] + (?: [\ (\ [] на [\) \]] | @) [\ w \ -] + \. [\ w \ - \.] + – lintmouse

ответ

1

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

"([a-zA-Z0-9_.+-]+(@|\[at\]|\(at\))[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+)" 

https://regex101.com/r/aH6cN7/1


Здесь re GEX, который принимает пробелы перед/после того, как [@t]

"([a-zA-Z0-9_.+-]+\s?(@|\[at\]|\(at\))\s?[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+)" 

https://regex101.com/r/aH6cN7/2

+1

Кажется, это работает отлично. Может ли он немного изменить его, чтобы он также работал с возможными пространствами o neach стороне знаков @, (,), [,]? Например: test @ mail.com, мой [на] mail.com и ваш (на) mail.com. Пожалуйста, оставьте оригинальный ответ видимым, чтобы я мог сравнить их и узнать. :) – unska

+0

Я вышел из игры, но вы можете попробовать сыграть с этим выражением '\ s?' до или/или после @. – mayo

Смежные вопросы