邮件地址最基本的格式可以看作是 <用户名@域名>。对于用户名,各个ISP没有统一的标准,除了数字和字母外,有的允许有<_>,有的允许有<.>,也有的两者皆可,或者允许其他的特殊字符。对此我们只能根据具体的情况加以判断。
文中假设除字母和数字外还允许<.><_>,<.><_>不能出现在首末位,<.><_>不能相连。域名中各段除数字和字母外只允许出现<->,且<->不能出现在首位和末位,各段用<.>连接。我们还可从域名得知最后一段大于一位且只有字母。
下面我们就可以依据以上假设写出如下表达式来判断是否该串是一个邮件地址:
^([a-z0-9A-Z]+[-|/.]?)+[a-z0-9A-Z]@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?/.)+[a-zA-Z]{2,}$
稍作解释:
^:匹配开始
([a-z0-9A-Z]+[-|/.]?)+:数字或字母>1位 + <->或<.>,以上组合重复1次以上
[a-z0-9A-Z]:用户名以数字或字母结尾
@:匹配<@>
(
[a-z0-9A-Z]+:匹配多位数字或字母
(-[a-z0-9A-Z]+)?:匹配 -加多位数字或字母 0次或1次
/.:匹配<.>
)+:匹配括号中内容多次
[a-zA-Z]{2,}:匹配字母2次以上
$:匹配结尾
经验证可以达到目的。
本人刚学正则表达式,敬请斧正。
关于邮件地址的正则表达式
最新推荐文章于 2024-09-07 17:36:49 发布
博客围绕邮件地址格式展开,假设用户名除字母数字外允许<.><_>,且不能在首尾相连;域名各段除数字字母外允许<->,且不在首尾,各段用<.>连接。依据此假设给出判断邮件地址的正则表达式,并对表达式各部分作了解释。
部署运行你感兴趣的模型镜像
您可能感兴趣的与本文相关的镜像
Stable-Diffusion-3.5
图片生成
Stable-Diffusion
Stable Diffusion 3.5 (SD 3.5) 是由 Stability AI 推出的新一代文本到图像生成模型,相比 3.0 版本,它提升了图像质量、运行速度和硬件效率

6980

被折叠的 条评论
为什么被折叠?



