代码之家  ›  专栏  ›  技术社区  ›  Tasnim Zuhod

这个正则表达式是什么意思?[副本]

  •  -2
  • Tasnim Zuhod  · 技术社区  · 8 年前

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

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

    谁能解释一下这个正则表达式是什么意思,并给出一个例子吗。

    提前谢谢。

    3 回复  |  直到 8 年前
        1
  •  0
  •   thijmen321    8 年前

    首先,所有 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}$ 相反

        2
  •  0
  •   Josh S.    8 年前

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

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

    但是,您提供的Regex必须满足电子邮件外观的特定要求

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

    此Regex没有应用任何选项,因此,它将要求电子邮件中的所有字母都大写

        3
  •  0
  •   Andriy Kryvtsun    8 年前

    下面是对regexp的一个很好的解释 How to Find or Validate an Email Address