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,如果需要更精确的匹配还需要进一步的修改
域名
顶级域名
分享到:
相关推荐
匹配中文字符的正则表达式: [u4e00-u9fa5] 评注:匹配中文还真是个头疼的事,有了这个表达式就好办了 匹配双字节字符(包括汉字在内):[^x... 匹配Email地址的正则表达式:w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*
对正则表达式功能字符的还原,如"*"匹配它前面元字符0次或多次,/a*/将匹配a,aa,aaa,加了"\"后,/a\*/将只匹配"a*"。 ^ 匹配一个输入或一行的开头,/^a/匹配"an A",而不匹配"An a" $ 匹配一个输入或一行的结尾,/a...
匹配Email地址的正则表达式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)* 匹配网址URL的正则表达式:http://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)? 利用正则表达式限制网页表单里的文本框输入内容: 用正则表达式...
正则表达式语法,常用的正则表达式匹配字符和应用,如:汉字,身份证、email、电话、IP等
正则表达式是一门独立的知识,同样的一段描述,比如,对于email的匹配表达式,在不同的语言是一样的,但是调用的函数不同。 正则表达式–规则表达式 正则表达式:正则表达式 正则表达式语法:正则表达式语法 正则...
很适合经常开发web应用的用户哦 值得一直保留的 包括身份证号验证、email格式验证等
匹配Email地址的正则表达式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)* 评注:表单验证时很实用 匹配网址URL的正则表达式:[a-zA-z]+://[^\s]* 评注:网上流传的版本功能很有限,上面这个基本可以满足需求 ...
Regulus是包裹一些正则表达式以简化匹配的宝石 安装 将此行添加到您的应用程序的Gemfile中: gem 'Regulus' 然后执行: $ bundle 或将其自己安装为: $ gem install Regulus 用法 调用 Regulus 和匹配的方法 ...
简单的说,正则表达式是一种可以用于模式匹配和替换的强大工具。在几乎所有的基于UNIX/LINUX系统的软件工具中找到正则表达式的痕迹,例如:Perl或PHP脚本语言。此外,JavaScript这种客户端的脚本语言也提供了对正则...
将匹配正则表达式字符串拷贝到的剪贴板。比如,我们可以把一个文件中所有的Email地址拷贝到剪贴板。 20. 将打开的文件用原目录结构另存为新文件 同时拷贝选中的文件和目录结构 21. 编辑SFTP文件 打开和保存SFTP...
几乎每个web应用都会用到表单,... pattern – 表单控件的值需匹配 pattern 对应的模式(正则表达式) 需求:设置成绩占比时,如果总占比不是100%,则无法通过验证。 分析:需求很简单,只需要写一个验证器即可,由
用正则表达式匹配字符串 日期时间数据类型 复合数据类型(等同于Python dict,列表和集合类型) 资料属性 线程安全 用法示例 以下示例演示了定义规则对象并将其应用于两个字典的基本用法,显示了一个匹配而另一个不...
使用正则式匹配email地址(2′47”)。点这里; 升级版权信息(3′38)。点这里; 与RegexBuddy的无缝链接(1′57”),点这里;两个软件是亲兄弟,当然哥俩好啦! 文件选择(3′08”),点这里;PowerGREP提供了贴心的...
使用正则式匹配email地址(2′47”)。点这里; 升级版权信息(3′38)。点这里; 与RegexBuddy的无缝链接(1′57”),点这里;两个软件是亲兄弟,当然哥俩好啦! 文件选择(3′08”),点这里;PowerGREP提供了贴心的...
10.14.html 匹配Email地址。 10.15.html 匹配网址URL。 10.16.html 匹配手机号码。 10.17.html 匹配中文字符。 第11章(\c11) 示例描述:介绍JavaScript管理cookie和userData。 11.1....
其他使用正则表达式的命令 第12章 脚本库及软件包 确定软件包的位置:auto-path变量 使用软件包 对软件包加载的总结 package命令 基于文件tclindex的库 unknown命令 方便交互 tclshell的库环境 编码风格 ...
23) 正则表达式处理字符 例︰"\b([a-z]+) \1\b"合并多次重复单词 24) 可设置字符内部编码 (注:分Unicdoe和ANSI两种;[设置]->[设置字符编码类型]中设定) 6.计算功能支持函数清单: (注:num 表示数字; "" ...
' V1.9 修正函数:GetMatchHwndFromWindow 正则表达式的错误 2013/08/07 ' 修正函数:GetMatchHwndFromWindow 函数中的一些错误 2014/09/23 ' 增加函数:GetWindowByClassNameEx ' 增加函数:GetWindowByPID 根据PID...
' V1.9 修正函数:GetMatchHwndFromWindow 正则表达式的错误 2013/08/07 ' 修正函数:GetMatchHwndFromWindow 函数中的一些错误 2014/09/23 ' 增加函数:GetWindowByClassNameEx ' 增加函数:GetWindowByPID 根据PID...