笔试的时候考到正则表达式,今天回来狂补了一把,找 工作的同学们都要加油!
环境: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]*)+$"