2014-01-17 7 views

ответ

-1

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

^[_A-Za-z0-9-\\+]+(\\.[_A-Za-z0-9-]+)* @[A-Za-z0-9-]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$;

Надеется, что это помогает вам

или Else Используйте приведенный ниже Class

org.apache.commons.validator.routines.EmailValidator 

использовать метод ниже

isValid(String email) возвращает булево

+1

Не соответствует 'ABC @ com', который является действительным адресом, см: HTTP://en.wikipedia.org/wiki/Email_address#Valid_email_addresses – Toto

+2

И даже не будет соответствовать тому, что OP запросил для bob в gmail dot com. – devnull

3

Изменить это:

[at|@|(at)] 

к:

(?:at|@|\(at\)) 

и

[dot|\\.|dt] 

в

(?:dot|\\.|dt) 

[...] является character class, (?:...) является non capture group.

Все регулярное выражение будет:

([a-zA-Z0-9.]+)\\s*(?:at|@|\(at\))\\s*(\\w+)\\s*(?:do?t|\\.)\\s*(\\w+{1,3}) 

Если вы хотите, чтобы соответствовать поддомены:

([a-zA-Z0-9.]+)\\s*(?:at|@|\(at\))\\s*(?:\\w+\\s*(?:do?t|\\.)\\s*)+(\\w+{1,3}) 
+1

И '(?: Dot | \\. | Dt)' to '(?: Do? T | \\.)': P –

+0

@ Jonny5: Правильно. – Toto

+0

Большое спасибо ... за последующим наблюдением Я написал вышеупомянутый RegEx для получения адресов электронной почты. Это успешно поднимает боб на GMAIL точки приходят Однако, это не подобрать, боб на гм ком точка Gmail точка (визуализации следующих электронной почты существовали [email protected]) Кроме того, он также генерировать некоторые ложные срабатывания, если в тексте есть слово «at». Например, строка «run at runtime. It» вернется в качестве адреса электронной почты [email protected] Любые предложения о том, как записать второй вариант электронной почты и избежать захвата [email protected]? – user3206133

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