正则表达式电子邮件地址验证 [英] Regex email address validation

查看:141
本文介绍了正则表达式电子邮件地址验证的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

  ^ [a-z0- !9#$%&放大器; '?!* + / = ^ _`{|}〜 - ] +(?:\\ [A-Z0-9#$%&放大器;' * + / = ^ ?_` {|}〜 - ] +)* @(?:?[A-Z0-9](在[a-Z0-9  - ] * [A-Z0-9])\\)+ (?:[AZ] {2} | com | org | net | gov | mil | biz | info | mobi | name | in | aero | jobs | museum)$ 
pre>

此正则表达式用于验证电子邮件地址

解决方案

验证电子邮件地址现在被视为不良做法(停止使用正则表达式验证电子邮件地址),尤其是在您的问题中的表达式。例如,这里有一个更完整的表达



对于这个表达式,我们可以分开部分:



匹配字符串的开始

  ^ 

从列表中至少匹配一个字符

  [a-z0-9!#$%&'* + / =?^ _`{|}〜 - ] + 

非捕获(参见反向引用)组,可以重复0..n次,匹配,然后至少从列表中选择一个字符。 / p>

 (?: \\。[a-z0-9!#$%&'* + / =? _`{|}〜 - ] +)* 

只是这个角色

  @ 

非捕获组匹配此列表中的一个字符 [a-z0-9] ,然后可能有更多来自以下列表的字符。匹配的字符串必须以[a-z0-9]开头和结尾,内部可以有[a-z0-9 - ]。

 (?:[a-z0-9](?:[a-z0-9  - ] * [a-z0-9])?\\。)+ 

非捕获组,匹配2个大写字母或一个单词。

 (?:[AZ] {2} | com | org | net | gov | mil | biz | info | mobi | name | in | aero | jobs | museum)

字符串结束。

  $ 


Can someone please explain this java Regex to me?

^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+(?:[A-Z]{2}|com|org|net|gov|mil|biz|info|mobi|name|in|aero|jobs|museum)$

This regex is used to validate an email address.

解决方案

Validating email addresses is now considered bad practice (stop validating email addresses with regex), especially with such expression as in your question. For example here's a more complete expression.

As for this expression let's break it in parts:

Beginning of the matched string

^

Matches at least one character from the list

[a-z0-9!#$%&'*+/=?^_`{|}~-]+

Non-capturing (see backreference) group which can be repeated 0..n times, that matches a . and then at least one character from the list.

(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*

Just this character

@

Non-capturing group matching one character in this list [a-z0-9] and then possibly more characters from the following lists. Matched string must start and end with [a-z0-9] and inside it can have [a-z0-9-].

(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+

Non-capturing group that matches 2 uppercase letters or one of the words.

(?:[A-Z]{2}|com|org|net|gov|mil|biz|info|mobi|name|in|aero|jobs|museum)

End of the string.

$

这篇关于正则表达式电子邮件地址验证的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆