如何利用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/ironpython:从入门到精通
Oct 02 Python
Python提取网页中超链接的方法
Sep 18 Python
Windows安装Python、pip、easy_install的方法
Mar 05 Python
ubuntu安装mysql pycharm sublime
Feb 20 Python
Python Requests模拟登录实现图书馆座位自动预约
Apr 27 Python
python 产生token及token验证的方法
Dec 26 Python
详解python算法之冒泡排序
Mar 05 Python
Django在admin后台集成TinyMCE富文本编辑器的例子
Aug 09 Python
Python求解正态分布置信区间教程
Nov 20 Python
Python操作MySQL数据库的示例代码
Jul 13 Python
如何利用python生成MD5并去重
Dec 07 Python
Python使用pandas导入xlsx格式的excel文件内容操作代码
Dec 24 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
PHP模板引擎Smarty内建函数详解
2016/04/11 PHP
PHP strcmp()和strcasecmp()的区别实例
2016/11/05 PHP
php基于自定义函数记录log日志方法
2017/07/21 PHP
PHP抽象类和接口用法实例详解
2019/07/20 PHP
让iframe自适应高度(支持XHTML,支持FF)
2007/07/24 Javascript
在JavaScript中使用开平方根的sqrt()方法
2015/06/15 Javascript
实现React单页应用的方法详解
2016/08/02 Javascript
easyui form validate总是返回false的原因及解决方法
2016/11/07 Javascript
angular.JS实现网页禁用调试、复制和剪切
2017/03/31 Javascript
浅谈JS封闭函数、闭包、内置对象
2017/07/18 Javascript
浅谈vue路径优化之resolve
2017/10/13 Javascript
JavaScript深拷贝和浅拷贝概念与用法实例分析
2018/06/07 Javascript
Vue中使用方法、计算属性或观察者的方法实例详解
2018/10/31 Javascript
详解微信图片防盗链“此图片来自微信公众平台 未经允许不得引用”的解决方案
2019/04/04 Javascript
微信小程序新闻网站详情页实例代码
2020/01/10 Javascript
[05:41]2014DOTA2西雅图国际邀请赛 小组赛7月10日TOPPLAY
2014/07/10 DOTA
在Python的列表中利用remove()方法删除元素的教程
2015/05/21 Python
Python实现二分查找与bisect模块详解
2017/01/13 Python
Python找出最小的K个数实例代码
2018/01/04 Python
使用Python批量修改文件名的代码实例
2019/01/24 Python
详解将Pandas中的DataFrame类型转换成Numpy中array类型的三种方法
2019/07/06 Python
python 解决mysql where in 对列表(list,,array)问题
2020/06/06 Python
基于Keras的格式化输出Loss实现方式
2020/06/17 Python
python判断字符串以什么结尾的实例方法
2020/09/18 Python
python 实现批量图片识别并翻译
2020/11/02 Python
使用before和:after伪类制作css3圆形按钮
2014/04/08 HTML / CSS
用HTML5.0制作网页的教程
2010/05/30 HTML / CSS
检测浏览器对HTML5和CSS3支持度的方法
2015/06/25 HTML / CSS
升职自荐信
2013/11/28 职场文书
建房协议书
2014/04/11 职场文书
一分钟演讲稿
2014/04/30 职场文书
师德自我剖析材料范文
2014/10/06 职场文书
2014年信息宣传工作总结
2014/12/18 职场文书
上课迟到检讨书范文
2015/05/06 职场文书
情人节单身感言
2015/08/03 职场文书
《吸血鬼:避世 血猎》官宣4.27发售 系列首款大逃杀
2022/04/03 其他游戏