从实例学习正则表达式
需要先搭个环境,我用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 引导我的学习。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |