正则表达式应用:匹配email地址
发布时间:2020-05-22 17:27:49 所属栏目:程序设计 来源:互联网
导读:email的组成主要有三部分 1用户名部分 2@ 3域名部分 1用户名部分 用户名一般有数值字母下划线组成,所以正则表达式为:[da-zA-Z_]+,也可以写成[0-9a-zA-Z_]+ 2@ 由于是固定的普通字符,所以正则表达式就是:@ 3域名部分 一般是几个数字字母的组合接着是点号
|
email的组成主要有三部分 1用户名部分 2@ 3域名部分
1用户名部分 用户名一般有数值字母下划线组成,所以正则表达式为:[da-zA-Z_]+,也可以写成[0-9a-zA-Z_]+ 2@ 由于是固定的普通字符,所以正则表达式就是:@ 3域名部分 一般是几个数字字母的组合接着是点号,会重复一次或者多次,最后是顶级域名(包括国家域名和组织)有字母组成 故正则表达式为:([-dA-Za-z]+.)+[a-zA-Z]{2,} ([-dA-Za-z]+.)+;匹配字母数值的组合接着一个点号,重复一次或者多次 [a-zA-Z]{2,}:匹配顶级域名,字母组成,至少两个字符
因此匹配邮箱的正则表达式为:[da-zA-Z_]+@([-dA-Za-z]+.)+[a-zA-Z]{2,} 测试代码: private static void Test()
{
List<string> emailList = new List<string>();
string email = "xue@163.,xue@163.com12,2707@qq.com,xue@yahoo.com.cn,xue@163.com,xue@163.com12";
// Regex reg2 = new Regex(@"^da-zA-Z_]+@([-dA-Za-z]+.)+[a-zA-Z]{2,}$");验证email的正则表达式
Regex reg = new Regex(@"(?<email>[da-zA-Z_]+@([-dA-Za-z]+.)+[a-zA-Z]{2,})");
Match m = reg.Match(email);
foreach (Match item in reg.Matches(email))
{
emailList.Add(item.Groups["email"].Value);
}
}由于没有对长度限制,所以还是会匹配一些错误的邮箱,例如xue@163.coommmmmmmmm,如果需要更精确的匹配还需要进一步的修改
域名 顶级域名 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
