[置顶] 正则表达式应用:匹配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,如果需要更精确的匹配还需要进一步的修改
[置顶] 正则表达式应用:匹配email地址的更多相关文章
- 正则表达式通用匹配ip地址及主机检测
在使用正则表达式匹配ip地址时如果不限定ip正确格式,一些场景下可能会产生不一样的结果,比如ip数值超范围,ip段超范围等,在使用正则表达式匹配ip地址时要注意几点: 1,字符界定:使用 \< ...
- [置顶] 正则表达式应用:匹配IP地址
都知道iP地址有四个数值,三个点号组成.三个数值的具体范围为0到255,为了使用正则表达式匹配就必须分析IP地址的组成 1先分析数值,2再组合数值和点号 1先分析数值 IP地址的数字范围从0到255, ...
- [置顶] 白话二分匹配之最大匹配+附上hdu2063解题报告
最近开始学习图论的二分匹配,关于最大匹配做一次小总结,希望自己后面回头来看一目明了,也对刚接触的人有帮助: ps:开始有的文字很多....对于很多人来说一看到文字就烦啦...不过这个总结是针对匈牙利算 ...
- 【技术】正則表達式—匹配电话号码,网址链接,Email地址
#pragma mark - 正则匹配电话号码.网址链接.Email地址 + (NSMutableArray *)addHttpArr:(NSString *)text { //匹配网址链接 NSSt ...
- javascript使用正则表达式验证Email地址
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- python中利用正则表达式匹配ip地址
现在有一道题目,要求利用python中re模块来匹配ip地址,我们应如何着手? 首先能想到的是ip地址是数字,正则表达式是如何匹配数字的呢? \d或[0-9] 对于这个问题,不要一下子上来就写匹配模式 ...
- JavaScript 检查 email 地址的正则表达式
JavaScript 检查 email 地址的正则表达式1.代码(1)<html><head><title>Checking an email address - ...
- php中正则表达式的匹配和数据验证总结
正则表达式能匹配复杂的字符串形式,比字符串处理函数功能更加多,只不过执行效率有所降低,但是可以实现非常复杂的匹配,下面总结一下 1.简单的字符串匹配,判断指定字符串是不是在另一个字符串中,和字符串查找 ...
- [置顶] Android开发笔记(成长轨迹)
分类: 开发学习笔记2013-06-21 09:44 26043人阅读 评论(5) 收藏 Android开发笔记 1.控制台输出:called unimplemented OpenGL ES API ...
随机推荐
- 多条件搜索拼接Sql语句
1. 如下实例: 1.1 如下图所示:[通过用户输入的数据拼接Sql搜索语句] 1.2 private void button2_Click( ...
- quartz搭建与应用
1.添加依赖 依赖包括Quartz和logback <dependencies> <dependency> <groupId>org.quartz-schedule ...
- projecteuler之58题Spiral primes
package com.android; public class SpiralPrimes { public static void main(String args[]) { long numPr ...
- r语言之散点图绘制及参数
一个简单的例子: > plot(cars$dist~cars$speed,+ main="车位移与速度的关系",+ xlab="速度",+ ylab=&q ...
- SQL——找出某一字段中内容相同的数据
SELECT columnName from dbo.tableName group by columnName having count(*)>1
- octopress command memo
1 rake new_post rake new_post[title] # Begin a new post in source/_posts 2 rake preview ht ...
- lua学习:使用Lua处理游戏数据
在之前lua学习:lua作配置文件里,我们学会了用lua作配置文件. 其实lua在游戏开发中可以作为一个强大的保存.载入游戏数据的工具. 1.载入游戏数据 比如说,现在我有一份表单: data.xls ...
- cocos2d-x游戏开发系列教程-超级玛丽03-main函数
代码下载链接 http://download.csdn.net/detail/yincheng01/6864893 解压密码:c.itcast.cn main函数内容 #include "m ...
- JAVA中IO和异常处理练习
1.SystemI\O练习:1)通过键盘输入若干字符,并通过显示器输出:2)定义一个静态方法validOrNot()用于对输入的字符进行合法性校验,若包含非英文字符,则抛出IllegalStringE ...
- ORA-00923: 未找到要求的 FROM 关键字
oracle处理 后台数据时, select a.oga01 发货单号,e.imaud04 箱/套from oga_file a left join ogb_file b on b.ogb01 = a ...