从实例学习正则表达式

前端之家收集整理的这篇文章主要介绍了从实例学习正则表达式前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

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


引导我的学习。

原文链接:https://www.f2er.com/regex/360696.html

猜你在找的正则表达式相关文章