这个正则表达式意味着什么?

时间:2016-02-27 13:19:54

标签: regex email-validation

我发现这个正则表达式是一个电子邮件验证,但我无法理解是什么意思,我试图输入多种形式的电子邮件,但它们不起作用,我认为这个正则表达式存在问题。

^ [A-Z0-9] [A-Z0-9 ._%+ - ] {0,63} @(?:[A-Z0-9] {1,63}){ 1125} [AZ] {2,63} $

任何人都可以解释这个正则表达式意味着什么,并举例说明。

提前致谢。

3 个答案:

答案 0 :(得分:0)

你正在使用Php吗? 我将使用此命令

filter_var('bob@example.com', FILTER_VALIDATE_EMAIL);

但是,您提供的正则表达式必须满足电子邮件外观的特定要求

第一个字符必须是字母数字。

此正则表达式没有应用任何选项,因此,它将要求电子邮件以大写字母显示所有字母

答案 1 :(得分:0)

以下是对正则表达式的一个很好的解释 How to Find or Validate an Email Address

答案 2 :(得分:0)

首先,所有println( List.dropWhile(List(1, 2, 3, 4, 5), (i: Int) => i < 3) ) (仅为大写字母)可能都是A-Z

a-zA-Z^是输入的开头和结尾。

&

然后它会查找0到63个字符对之间的任意数字,第一个是大写字母或数字,第二个是任何一个:AZ,0-9,。,_,%,+, -

[A-Z0-9][A-Z0-9._%+-]{0,63}

之后,它会查找字符@(?:[A-Z0-9]{1,63}.){1,125},后跟1到125组字符,其中包含1到36倍的AZ或0-9,而且任何字符(@)可能都是.)。

\.

最后,它会在A-Z之间查找2至63次字符。

&#34; TEST@TT03SFD.TT"应该为这个正则表达式工作。这很难说出来,所以我希望它有一定意义......我会改用[A-Z]{2,63}