`
923723914
  • 浏览: 635035 次
文章分类
社区版块
存档分类
最新评论

正则表达式应用:匹配email地址

 
阅读更多

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,如果需要更精确的匹配还需要进一步的修改

域名

顶级域名

分享到:
评论

相关推荐

    Java-PHP正则表达式的使用

    匹配中文字符的正则表达式: [u4e00-u9fa5]  评注:匹配中文还真是个头疼的事,有了这个表达式就好办了  匹配双字节字符(包括汉字在内):[^x... 匹配Email地址的正则表达式:w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*

    正则表达式

    对正则表达式功能字符的还原,如"*"匹配它前面元字符0次或多次,/a*/将匹配a,aa,aaa,加了"\"后,/a\*/将只匹配"a*"。 ^ 匹配一个输入或一行的开头,/^a/匹配"an A",而不匹配"An a" $ 匹配一个输入或一行的结尾,/a...

    java 正则表达式

    匹配Email地址的正则表达式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)* 匹配网址URL的正则表达式:http://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)? 利用正则表达式限制网页表单里的文本框输入内容: 用正则表达式...

    正则表达式语法

    正则表达式语法,常用的正则表达式匹配字符和应用,如:汉字,身份证、email、电话、IP等

    JavaScript 正则应用详解【模式、欲查、反向引用等】

    正则表达式是一门独立的知识,同样的一段描述,比如,对于email的匹配表达式,在不同的语言是一样的,但是调用的函数不同。 正则表达式–规则表达式 正则表达式:正则表达式 正则表达式语法:正则表达式语法 正则...

    需要经常用到的正则表达式使用大全

    很适合经常开发web应用的用户哦 值得一直保留的 包括身份证号验证、email格式验证等

    JS输入框邮箱地址验证代码

    匹配Email地址的正则表达式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)* 评注:表单验证时很实用 匹配网址URL的正则表达式:[a-zA-z]+://[^\s]* 评注:网上流传的版本功能很有限,上面这个基本可以满足需求 ...

    Regulus:为你使用正则表达式的宝石

    Regulus是包裹一些正则表达式以简化匹配的宝石 安装 将此行添加到您的应用程序的Gemfile中: gem 'Regulus' 然后执行: $ bundle 或将其自己安装为: $ gem install Regulus 用法 调用 Regulus 和匹配的方法 ...

    Java-PHP-C#

    简单的说,正则表达式是一种可以用于模式匹配和替换的强大工具。在几乎所有的基于UNIX/LINUX系统的软件工具中找到正则表达式的痕迹,例如:Perl或PHP脚本语言。此外,JavaScript这种客户端的脚本语言也提供了对正则...

    PilotEdit Lite v12.7.0.zip

    将匹配正则表达式字符串拷贝到的剪贴板。比如,我们可以把一个文件中所有的Email地址拷贝到剪贴板。 20. 将打开的文件用原目录结构另存为新文件 同时拷贝选中的文件和目录结构 21. 编辑SFTP文件 打开和保存SFTP...

    angular 实现同步验证器跨字段验证的方法

    几乎每个web应用都会用到表单,... pattern – 表单控件的值需匹配 pattern 对应的模式(正则表达式) 需求:设置成绩占比时,如果总占比不是100%,则无法通过验证。 分析:需求很简单,只需要写一个验证器即可,由

    rule-engine:一种轻量级,可选类型的表达语言,具有用于匹配任意Python对象的自定义语法

    用正则表达式匹配字符串 日期时间数据类型 复合数据类型(等同于Python dict,列表和集合类型) 资料属性 线程安全 用法示例 以下示例演示了定义规则对象并将其应用于两个字典的基本用法,显示了一个匹配而另一个不...

    JGsoft.PowerGREP.v4.1.0.Retail-ZWT 压缩包一.共两个压缩包

    使用正则式匹配email地址(2′47”)。点这里; 升级版权信息(3′38)。点这里; 与RegexBuddy的无缝链接(1′57”),点这里;两个软件是亲兄弟,当然哥俩好啦! 文件选择(3′08”),点这里;PowerGREP提供了贴心的...

    JGsoft.PowerGREP.v4.1.0.Retail-ZWT 压缩包二.共两个压缩包

    使用正则式匹配email地址(2′47”)。点这里; 升级版权信息(3′38)。点这里; 与RegexBuddy的无缝链接(1′57”),点这里;两个软件是亲兄弟,当然哥俩好啦! 文件选择(3′08”),点这里;PowerGREP提供了贴心的...

    JavaScript完全自学宝典 源代码

    10.14.html 匹配Email地址。 10.15.html 匹配网址URL。 10.16.html 匹配手机号码。 10.17.html 匹配中文字符。 第11章(\c11) 示例描述:介绍JavaScript管理cookie和userData。 11.1....

    Tcl_TK编程权威指南pdf

    其他使用正则表达式的命令 第12章 脚本库及软件包 确定软件包的位置:auto-path变量 使用软件包 对软件包加载的总结 package命令 基于文件tclindex的库 unknown命令 方便交互 tclshell的库环境 编码风格 ...

    SuperNotepad

    23) 正则表达式处理字符 例︰"\b([a-z]+) \1\b"合并多次重复单词 24) 可设置字符内部编码 (注:分Unicdoe和ANSI两种;[设置]-&gt;[设置字符编码类型]中设定) 6.计算功能支持函数清单: (注:num 表示数字; "" ...

    clsWindow2.1_微信群发案例软件源码

    ' V1.9 修正函数:GetMatchHwndFromWindow 正则表达式的错误 2013/08/07 ' 修正函数:GetMatchHwndFromWindow 函数中的一些错误 2014/09/23 ' 增加函数:GetWindowByClassNameEx ' 增加函数:GetWindowByPID 根据PID...

    Windows窗口自动化操作类forVB6_V1.9beta clsWindow源码

    ' V1.9 修正函数:GetMatchHwndFromWindow 正则表达式的错误 2013/08/07 ' 修正函数:GetMatchHwndFromWindow 函数中的一些错误 2014/09/23 ' 增加函数:GetWindowByClassNameEx ' 增加函数:GetWindowByPID 根据PID...

Global site tag (gtag.js) - Google Analytics