Python正则表达式匹配整数或小数实例

您所在的位置:网站首页 python正则匹配以a开头以1结尾 Python正则表达式匹配整数或小数实例

Python正则表达式匹配整数或小数实例

#Python正则表达式匹配整数或小数实例| 来源: 网络整理| 查看: 265

Python正则表达式匹配整数或小数实例

发布时间:2019-09-29编辑:余斗阅读:(0)字号: 大 中 小

【资源下载】 音乐、电影、剧集、课程、动漫、电子书、有声书、软件...都在这里! 【免费下载】 开通特权 ,各类千余TB网络资源免费下,日日更新,一次开通,终身可用!

实例:在测试过程中需要分析log文件,筛选有用信息。

Python正则表达式匹配整数或小数实例

已知字符串test_str中包含整数、小数、IP地址格式的数字及英文单词、特殊字符等,要求用正则表达式取出所有整数和小数。用python语言实现代码如下:

#!/usr/bin/python import re test_str = '''type logfile [ 8] local 81.33 port 12345 connected with 82.33.44.250 port 55611 ''' ret1 = re.findall(r'([\d+\.]+)', test_str) #会匹配到IP地址 ret2 = re.findall(r'[^\.\d](\d+\.?\d+)[^\.\d]', test_str) ret3 = re.findall(r'[^\.\d](\d+\.\d+|\d+)[^\.\d]', test_str) print(ret1) print(ret2) print(ret3)  

运行结果及分析

Python正则表达式匹配整数或小数实例

· 只有ret3能精确匹配到所有整数和小数。

· ret1匹配结果包括IP地址'82.33.44.250',因为[\d+.]+方括号外的加号表示匹配一次或多次方括号内的字符,小数点可能匹配多次,不符合要求,所以ret2用.?表示匹配小数点0次或1次;

· ret2匹配结果缺少整数8,(\d+.?\d+)圆括号前后都有[^.\d]表示获取结果前后都不能有小数点或数字,但圆括号内\d+出现了两次就不能匹配个位数,匹配不全;

代码里用到的正则表达式符号释义如下:

(pattern) 匹配pattern并获取这一匹配。要匹配圆括号字符,请使用\(\) . 任何单个字符 \ 转义 \. 字符点 \d 匹配一个数字字符,0至9之间的数字,等价于[0-9] | 或 ? 匹配前面的子表达式零次或一次。例如,“do(es)?”可以匹配“do”或“does”。等价于匹配长度{0,1}

[^a-z] 匹配任何不在指定范围内的任意字符。例如,“[^a-z]”可以匹配任何不在“a”到“z”范围内的任意字符。 [^xyz] 匹配非xyz的任意字符。例如,“[^abc]”可以匹配“plain”中的“plin”任一字符。  

关键字词:Python正则表达式

余斗余斗 转载请注明:Python正则表达式匹配整数或小数实例 版权声明:本站原创文章,由余斗余斗发表在工具推荐分类下,于2019-09-29最后更新

上一篇:导出百度云网盘的文件目录名的实现方法

下一篇:Java删除数组中不唯一的值

相关文章 百度优化之移动适配代码正则表达式适配 JS正则表达式的一些基本技巧 Python之斐波那契数列算法详解 一个python单线程、多线程简单爬虫的执行效率代码推


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3