如何利用python正则表达式匹配版本信息


Posted in Python onDecember 09, 2020

问题描述:

用正则表达式提取文本中的版本号信息,比如说:10.1.1 9.5 10.10.11

并实现在文本中(.txt)读入,写出到文本(.txt)

首先构造正则表达式:

pattern=Vpat=“I.(I.)*I”

构造正则表达式:r'\d+\.(?:\d+\.)*\d+'

import re
pattern = r'\d+\.(?:\d+\.)*\d+'
f=open("F:\\xxxxxx\\banners.txt","r")
data=f.read()
f.close
result=re.findall(pattern,data)
f1=open("F:\\xxxxxx\\test1.txt","w")
for i in result:
 f1.write(i+'\n')
f.close

(1)re.match只匹配字符串的开始,如果字符串开始不符合正则表达式,则匹配失败,函数返回None;而re.search匹配整个字符串,直到找到一个匹配。

(2)findall是把所有匹配到的结果都拿出来

(3)后面的group()括号里还能加数字,可以用来导出特定行

(4)\d是整数的意思 +是1-无穷(就是1个以上)

(5) *是0到无穷####(I.)*是0个以上的整数加点

(6)‘(?: )' 无捕获组

当你要将一部分规则作为一个整体对它进行某些操作,比如指定其重复次数时,你需要将这部分规则用'(?:'和 ‘)'把它包围起来,而不能仅仅只用一对括号,那样将得到绝对出人意料的结果。

例:匹配字符串中重复的'ab'

>>> s='ababab abbabb aabaab'

>>> re.findall( r'\b(?:ab)+\b' , s )

结果:[‘ababab']

如果仅使用一对括号,看看会是什么结果:

>>> re.findall( r'b\(ab)+\b' , s )

结果:[‘ab']

这是因为如果只使用一对括号,那么这就成为了一个组(group)。组的使用比较复杂。

调试过程:

import re
#pattern = r'.*?(\d.*\d).*'
#pattern = r'\d\.\d\.\d'
#pattern = r'\d\.(?:\d\.)*\d'
#pattern = r'\d*\.(?:\d\.)*\d*'
#pattern = r'\d\.(\d\.)*\d'
pattern = r'\d+\.(?:\d+\.)*\d+'
f=open("F:\\shovat\\banners.txt","r")
data=f.read()
##data=f.readline()
f.close
#for line in data:
result=re.findall(pattern,data)
##print(result)
 # print(result)
 # print(result.group())
#t=(result.group())
 #t=(result.group(1))

f1=open("F:\\shovat\\test1.txt","w")
for i in result:
 f1.write(i+'\n')
f.close

banners.txt

ddd 1.1.1cisco ios software,c3750 software (c3750-ipbase-m),version
ddd 2.2.2 12.2(53)se,release softeware(fc2) 10.1.1 
ddd 3.3.3 technical support:http://www.cisco.com/techsupport
ddd 4.4.4 copyright (c) 1986-2009 by cisco systems,inc.
ddd 5.5.5 comiled sun 13-dec-09 16:25 by prod_rel_team
9.5

识别结果:

test1.txt

1.1.1
2.2.2
12.2
10.1.1
3.3.3
4.4.4
5.5.5
9.5

总结

到此这篇关于如何利用python正则表达式匹配版本信息的文章就介绍到这了,更多相关python正则匹配版本信息内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python实现简单点对点(p2p)聊天
Sep 13 Python
Python中super函数的用法
Nov 17 Python
python3解析库pyquery的深入讲解
Jun 26 Python
基于numpy中数组元素的切片复制方法
Nov 15 Python
python 读取竖线分隔符的文本方法
Dec 20 Python
python DataFrame 取差集实例
Jan 30 Python
python获取微信企业号打卡数据并生成windows计划任务
Apr 30 Python
pandas-resample按时间聚合实例
Dec 27 Python
在PyTorch中使用标签平滑正则化的问题
Apr 03 Python
python读取图像矩阵文件并转换为向量实例
Jun 18 Python
keras 模型参数,模型保存,中间结果输出操作
Jul 06 Python
Python利用imshow制作自定义渐变填充柱状图(colorbar)
Dec 10 Python
python基于win32api实现键盘输入
Dec 09 #Python
用python实现一个简单的验证码
Dec 09 #Python
使用Python提取文本中含有特定字符串的方法示例
Dec 09 #Python
python使用正则表达式匹配txt特定字符串(有换行)
Dec 09 #Python
PyTorch中clone()、detach()及相关扩展详解
Dec 09 #Python
python调用jenkinsAPI构建jenkins,并传递参数的示例
Dec 09 #Python
python excel多行合并的方法
Dec 09 #Python
You might like
关于url地址传参数时字符串有回车造成页面脚本赋值失败的解决方法
2013/06/28 PHP
php中debug_backtrace、debug_print_backtrace和匿名函数用法实例
2014/12/01 PHP
php使用变量动态创建类的对象用法示例
2017/02/06 PHP
PHP实现批量清空删除指定文件夹所有内容的方法
2017/05/30 PHP
phpcms实现验证码替换及phpcms实现全站搜索功能教程详解
2017/12/13 PHP
Laravel如何实现自动加载类
2019/10/14 PHP
我见过最全的个人js加解密功能页面
2007/12/12 Javascript
fckeditor 获取文本框值的实现代码
2009/02/09 Javascript
JS中showModalDialog 的使用解析
2013/04/17 Javascript
JavaScript设置首页和收藏页面的小例子
2013/11/11 Javascript
单元选择合并变色示例代码
2014/05/26 Javascript
javascript在网页中实现读取剪贴板粘贴截图功能
2014/06/07 Javascript
JavaScript错误处理
2015/02/03 Javascript
JavaScript对象反射用法实例
2015/04/17 Javascript
webpack中引用jquery的简单实现
2016/06/08 Javascript
JavaScript使用Range调色及透明度实例
2016/09/25 Javascript
Input文本框随着输入内容多少自动延伸的实现
2017/02/15 Javascript
AngularJS常见过滤器用法实例总结
2017/07/06 Javascript
JavaScript模块详解
2017/12/18 Javascript
Vue拖拽组件开发实例详解
2018/05/11 Javascript
Vue内部渲染视图的方法
2019/09/02 Javascript
JavaScript 判断浏览器是否是IE
2021/02/19 Javascript
Python实现list反转实例汇总
2014/11/11 Python
Python日期的加减等操作的示例
2017/08/15 Python
pandas object格式转float64格式的方法
2018/04/10 Python
django 控制页面跳转的例子
2019/08/06 Python
python实现的生成word文档功能示例
2019/08/23 Python
Python如何获取Win7,Win10系统缩放大小
2020/01/10 Python
python可以用哪些数据库
2020/06/22 Python
python安装第三方库如xlrd的方法
2020/10/31 Python
西班牙汉普顿小姐:购买帆布鞋和太阳镜
2016/10/23 全球购物
历史专业个人求职信分享
2013/12/20 职场文书
大学生素质拓展活动方案
2014/02/11 职场文书
黄金酒广告词
2014/03/21 职场文书
2014标准社保办理委托书
2014/10/06 职场文书
教师求职自荐信
2015/03/26 职场文书