关于邮件地址的正则表达式

原创 2004年09月24日 14:19:00

邮件地址最基本的格式可以看作是 <用户名@域名>。对于用户名,各个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次以上
$:匹配结尾

经验证可以达到目的。
本人刚学正则表达式,敬请斧正。

电子邮件地址的正则表达式

电子邮件地址的正则表达式 ^[a-zA-Z0-9._%+-]+@(?!.*\.\..*)[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$...
  • hadstj
  • hadstj
  • 2014年11月23日 14:14
  • 4860

正则表达式-对邮件地址进行校验

//正则表达式-对邮件地址进行校验 import java.util.*;//集合 class RegexTest { public static void main(String[] ar...
  • blacop
  • blacop
  • 2016年08月21日 14:53
  • 810

匹配电子邮件地址的正则表达式

char* szText="测试一下地址dgx_lsyd3@163.com看看\r\n";        //匹配电子邮件地址的正则表达式 char* szRegExpEmail="({[a-zA-...
  • baliguan163
  • baliguan163
  • 2013年08月26日 09:19
  • 2446

邮件地址的正则表达式

邮件地址的正则表达式
  • u012755393
  • u012755393
  • 2016年05月07日 09:59
  • 185

检测邮件地址的正则表达式

function isMail($v_addr){ if(eregi("^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+.([a-zA-Z0-9_-])", $v_addr))  ...
  • caaclxf
  • caaclxf
  • 2004年10月20日 08:47
  • 998

验证邮件地址的正则表达式

^[ _a-z0-9- ]+(/.[a-z0-9-]+)*@[a-z0-9-]+(/.[a-z0-9-]+)*(/.[a-z]{2,3})$ 
  • daryl715
  • daryl715
  • 2006年12月21日 22:31
  • 830

(正则表达式)邮件地址爬虫

这两天看了关于正则表达式的几个问题,想着之前的邮件地址的爬虫程序还不错,简单易懂,适合初学者,有需要的朋友可以参考下。关于爬虫和正则表达式的知识请各位自己百度或博客。主要的代码如下,主要是源代码,有些...
  • shangguanyunlan
  • shangguanyunlan
  • 2015年12月12日 16:47
  • 1132

python:用正则表达式进行电子邮箱地址匹配

python:用正则表达式进行电子邮箱地址匹配标签: python 正则表达式 电子邮箱地址by 小威威正则表达式是用于处理字符串的一大帮手,我也只是对正则表达式进行了简单的入门,写了一个匹配电子邮...
  • linwh8
  • linwh8
  • 2016年01月31日 12:39
  • 3742

学习正则表达式必读的书籍

学一门语言或者一门技术的过程中,如果遇到一本好书,它将原理讲解透彻,必将让你受益匪浅,那么将会在你技术的生涯中深远影响的。相反,你看了各种各样的书,没有一本书给你留下震撼的印象,那么我可以断定,这门技...
  • memoryisking
  • memoryisking
  • 2013年02月18日 11:32
  • 1183

用正则表达式提取网页中的邮箱地址

import java.io.BufferedReader;import java.io.FileReader;import java.io.IOException;import java.util....
  • thc1987
  • thc1987
  • 2009年03月29日 15:59
  • 4920
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:关于邮件地址的正则表达式
举报原因:
原因补充:

(最多只允许输入30个字)