这个正则表达式是什么意思?

What is this regex means?

我发现这个正则表达式是一个电子邮件验证,但我不明白它是什么意思,我尝试输入多种形式的电子邮件但它们没有用,我认为这个正则表达式有问题。

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

谁能解释一下这个正则表达式的含义并给出一个例子。

提前致谢。

您在使用 Php 吗? 我会改用这个命令

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

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

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

没有选项适用于此正则表达式,因此,它要求电子邮件的所有字母都大写

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

首先,所有 A-Z(仅大写字母)可能意味着 a-zA-Z

^&是输入的开始和结束。

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

然后它会查找 0 到 63 之间的任何数字的字符对,其中第一个是大写字母或数字,第二个是以下任意一个:A-Z、0-9、.、_、%、 +, -.

@(?:[A-Z0-9]{1,63}.){1,125}

之后它查找字符 @ 后跟 1 到 125 组字符,这些字符包含 1 到 36 次 A-Z 或 0-9 并且比任何字符(. 可能意味着\.)。

[A-Z]{2,63}

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

"TEST@TT03SFD.TT" 应该适用于此正则表达式。这真的很难用语言表达,所以我希望它能说得通……我会用 ^[a-zA-Z0-9._%+-]{1,63}@([a-zA-Z0-9]{1,53}\.){1,125}[a-zA-Z]{2,63}$ 代替。