这是我的字符串:
^((S)([a-z]))[a-zA-Z0-9_+-.]+@[a-zA-Z.-]+.(edu|com|edu7|org)$b
我需要检查字符串开头的两个条件:
- 没有空间
- 没有编号
我的字符串满足第一个条件,但不满足第二个条件。谢谢你的建议。我确实尝试过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)
-edu
、edu7
、com
、org
$
—字符串结束