需要先搭个环境,我用vc+pcre库
从网上下载了pcre-8.36.zip和cmake-3.1.3-win32-x86.exe
用cmake生成vc的工程文件后,用vc打开工程,编译生成pcre.dll,pcrecpp.dl等文件,其中pcretest.exe用来测试正则表达式的。
在网上搜索验证邮箱的范例,发现这个写的比较好http://www.chinasb.org/archives/2012/02/4270.shtml
pattern应该是 ^[_A-Za-z0-9-]+(\.[_A-Za-z0-9-]+)*@[A-Za-z0-9]+(\.[A-Za-z0-9]+)*(\.[A-Za-z]{2,})$
在测试工具中运行如下
re> /^[_A-Za-z0-9-]+(\.[_A-Za-z0-9-]+)*@[A-Za-z0-9]+(\.[A-Za-z0-9]+)*(\.[A-Za-z]{2,})$/
data> zhiqiang_z
No match
data> zhiqiang_z.info@abc.google.uk
0: zhiqiang_z.info@abc.google.uk
1: .info
2: .google
3: .uk
no match 那个不用说了
match那个,从结果看 0 代表完全匹配的值
1 代表分组0的值,()里面就是分组
2代表分组1的值,
3 代表分组1的值,
如果没有此分组,则显示unset
比如
data> zhiqiang_z@164.com
0: zhiqiang_z@164.com
1: <unset>
2: <unset>
3: .com
需要感谢 《正则表达式30分钟入门教程》的作者
http://www.oschina.net/question/12_9507
引导我的学习。