正则表达式基础知识(一)
之前在linux中用到三剑客grep、awk、sed等,简单的接触过正则表达式,但是没有深入的了解正则表达式,又一次在python里面接触到正则表达式,所以想着尽量一次攻克正则表达式,所以就将自己学习印记留在此处,供自己复习,同时也将相关知识分享给大家。 分享几个在线测试与学习正则的地址: (1)http://deerchao.net/tutorials/regex/regex.htm 正则表达式30分钟入门 (2)http://tool.oschina.net/regex/在线测试以及有部分简单示例 (3)http://tool.chinaz.com/regex/在线测试工具 (4)http://www.ip138.com/zhengze/在线测试工具 推荐 (5)http://www.kingshang.com/ 在线测试工具 (6)http://www.cnblogs.com/huxi/archive/2010/07/04/1771073.htmlpython正则表达式 (7)https://c.runoob.com/front-end/854测试工具推荐 这种在线测试工具随便一搜就有很多,这里只列举几个。 1、正则表达式学习引导 (1)字符串:"one1two2three3four4"用正则处理,输出"1234" 首先分析字符串的规律,我们发现整个字符串由字母和数字组成,而结果仅包含数字,我们则可以写成 d{1}或者[1-9]{1}或者[1-9]都可以实现。 (2)字符串info='<ahref=" 正则表达式为:[a-z.]*baidu[.a-z]*和[w.]*baidu.*w*' 匹配结果: www.baidu.com baidu (3)匹配出下面字符串的所有IP地址 17-03-29来自地址:美国/加拿大CZ88.NETIP【199.30.25.74】的用户查询了IP【222.45.52.0】地址:江苏省盐城市铁通ADSL 17-03-29来自地址:美国加利福尼亚州玛瑞娜戴尔瑞市IANAIP【106.39.201.242】的用户查询了IP【210.39.72.0】地址:广东省深圳清华大学研究院 17-03-29来自地址:美国CZ88.NETIP【171.106.42.113】的用户查询了IP【106.0.0.0】地址:美国加利福尼亚州玛瑞娜戴尔瑞市IANA 17-03-29来自地址:亚太地区CZ88.NETIP【183.202.167.74】的用户查询了IP【202.207.224.0】地址:山西省长治市长治医学院 17-03-29来自地址:中国移动IP【111.37.0.222】的用户查询了IP【210.44.128.0】地址:山东省济南市山东财政学院 17-03-29来自地址:中国CZ88.NETIP【180.153.214.182】的用户查询了IP【123.6.0.0】地址:河南省郑州市联通 17-03-29来自地址:CZ88.NETIP【115.63.65.233】的用户查询了IP【221.176.200.0】地址:河南省移动 17-03-29来自地址:美国CZ88.NETIP【157.55.39.166】的用户查询了IP【217.10.244.0】地址:欧洲CZ88.NET 正则表达式: (1)d*.d*.d*.d*自己写的 (2)(25[0-5]|2[0-4]d|[0-1]d{2}|[1-9]?d).(25[0-5]|2[0-4]d|[0-1]d{2}|[1-9]?d).(25[0-5]|2[0-4]d|[0-1]d{2}|[1-9]?d).(25[0-5]|2[0-4]d|[0-1]d{2}|[1-9]?d) 第二个是在上面的工具中找的明显比自己写的专业全面 搜索的结果: 199.30.25.74 222.45.52.0 106.39.201.242 210.39.72.0 171.106.42.113 106.0.0.0 183.202.167.74 202.207.224.0 111.37.0.222 210.44.128.0 180.153.214.182 123.6.0.0 115.63.65.233 221.176.200.0 157.55.39.166 217.10.244.0 经过上面的三个小测试,发现正则表达式确实是一个很好玩的东西,也确实也有一定的难度,实现的方法和语法有多种,但是新手难以保证你的防范就是最全面的最准确的,需要多加练习才能熟练掌握。 2、正则表达式基本语法介绍 正则表达式主要包含普通字符(大小写字母数字等)和元字符(特殊符号等)等内容。接下来介绍相关的基础知识。
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |