正则表达式验证邮箱地址

来源:互联网 发布:免费四柱排盘软件下载 编辑:程序博客网 时间:2024/05/06 04:39

笔试的时候考到正则表达式,今天回来狂补了一把,找 工作的同学们都要加油!

 

环境:linux

测试文件名:t1 (通过linux命令窗口新建一个文件,名为t1 )

       文件内容为:

********************* t1 **********************

there is only ten RMB left
how about 11 o'clock
Oh, it is noon now
abc@b.com
abc@@m.com
abc@a@n.com
napoleon0810@163.com
abmmab
hu@fud.edu.cn
_hh@mm.com
_hh@mm.com
what_@_nn.com
**ss
mmmmmmmmmmm
mhsjsldnnnnn
mhsjsldnnnnn(.com)
kdkflja(.cn)
kdlakd.com
kkk@kkk
********************t1 ************************

 (写这篇文章的时候,将文件拷到csdn的编辑框中时,发现它可以自动匹配邮箱地址,加上下划线并显示为蓝色。 但是csdn没有对邮箱的后缀做限定, 它认为最后一行的kkk@kkk也是邮箱地址,疏忽了喔。)

 
几个正则表达式的例子:
有且仅有一个@(直接输入下面命令,可在终端看到匹配成功的结果)

    # cat t1 | grep "^[^@]*@[^@]*$"  

 

以" .com " 或者".cn" 结尾
    # cat t1 | grep -E "((.com)|(.cn))$"
    # cat t1 | egrep  "((.com)|(.cn))$"
 
验证完整的邮箱地址
    # cat t1 | egrep  "^\w*@\w*((.com)|(.cn))$"
    也可以这么写
    #cat t1 | egrep  "^\w*@\w*(\.[0-9a-z]*)+$"