选择一个开头不带空格和数字的字符串



这是我的字符串:

^((S)([a-z]))[a-zA-Z0-9_+-.]+@[a-zA-Z.-]+.(edu|com|edu7|org)$b

我需要检查字符串开头的两个条件:

  1. 没有空间
  2. 没有编号

我的字符串满足第一个条件,但不满足第二个条件。谢谢你的建议。我确实尝试过regex101,但无法解决它。

以下是两个都无效的电子邮件地址:

somebody@gmail.com  
5somebody@gmail.com  

我不希望这些东西被程序退回。我当前的代码认为第二封电子邮件是有效的,这是不正确的。

您期望的匹配意味着您只允许字母作为字符串中的第一个字符,因此您可以使用

^[a-zA-Z][a-zA-Z0-9_+.-]*@[a-zA-Z.-]+.(?:edu7?|com|org)$

请参阅regex演示详细信息

  • ^-字符串的开头
  • [a-zA-Z]-ASCII字母
  • [a-zA-Z0-9_+.-]*-零个或多个字母、数字、_+.-(注意连字符的位置,它必须位于字符类的末尾(
  • @-一个@字符
  • [a-zA-Z.-]+-一个或多个字母、点或连字符
  • .-一个点
  • (?:edu7?|com|org)-eduedu7comorg
  • $—字符串结束

最新更新