从实例学习正则表达式

原创
2015/03/04 10:15
阅读数 54

需要先搭个环境,我用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


引导我的学习。

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部