如何利用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进阶教程之异常处理
Aug 30 Python
一篇文章入门Python生态系统(Python新手入门指导)
Dec 11 Python
python实现雨滴下落到地面效果
Jun 21 Python
利用python numpy+matplotlib绘制股票k线图的方法
Jun 26 Python
TensorFlow实现简单的CNN的方法
Jul 18 Python
python利用re,bs4,requests模块获取股票数据
Jul 29 Python
python开头的coding设置方法
Aug 08 Python
详解Python绘图Turtle库
Oct 12 Python
pytorch 准备、训练和测试自己的图片数据的方法
Jan 10 Python
OpenCV中VideoCapture类的使用详解
Feb 14 Python
python实现mean-shift聚类算法
Jun 10 Python
python连接mysql数据库并读取数据的实现
Sep 25 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 读取文件的正确方法
2009/04/29 PHP
PHP验证码类代码( 最新修改,完全定制化! )
2010/12/02 PHP
PHP学习笔记之一
2011/01/17 PHP
PHP生成腾讯云COS接口需要的请求签名
2018/05/20 PHP
Thinkphp 框架配置操作之配置加载与读取配置实例分析
2020/05/15 PHP
新闻内页-JS分页
2006/06/07 Javascript
jQuery Selector选择器小结
2010/05/06 Javascript
Jquery判断IE6等浏览器的代码
2011/04/05 Javascript
基于jQuery的合并表格中相同文本的相邻单元格的代码
2011/04/06 Javascript
EasyUI中的tree用法介绍
2011/11/01 Javascript
用函数模板,写一个简单高效的 JSON 查询器的方法介绍
2013/04/17 Javascript
如何用JavaScript动态呼叫函数(两种方式)
2013/05/03 Javascript
extJS中常用的4种Ajax异步提交方式
2014/03/07 Javascript
jQuery中wrapInner()方法用法实例
2015/01/16 Javascript
jQuery实现ctrl+enter(回车)提交表单
2015/10/19 Javascript
JavaScript实现弹出DIV层同时页面背景渐变成半透明效果
2016/03/25 Javascript
jQuery soColorPacker 网页拾色器
2016/06/22 Javascript
jQuery+pjax简单示例汇总
2017/04/21 jQuery
Vue组件通信的几种实现方法
2019/04/25 Javascript
javascript实现简单打字游戏
2019/10/29 Javascript
python使用beautifulsoup从爱奇艺网抓取视频播放
2014/01/23 Python
python实现识别相似图片小结
2016/02/22 Python
深度定制Python的Flask框架开发环境的一些技巧总结
2016/07/12 Python
Python拼接微信好友头像大图的实现方法
2018/08/01 Python
python3.4爬虫demo
2019/01/22 Python
Python3匿名函数lambda介绍与使用示例
2019/05/18 Python
手机使用python操作图片文件(pydroid3)过程详解
2019/09/25 Python
基于python中__add__函数的用法
2019/11/25 Python
Python selenium自动化测试模型图解
2020/04/15 Python
jupyter notebook 重装教程
2020/04/16 Python
HTML5 canvas基本绘图之填充样式实现
2016/06/27 HTML / CSS
给同事的道歉信
2014/01/11 职场文书
销售个人求职信范文
2014/04/28 职场文书
放飞梦想演讲稿200字
2014/08/26 职场文书
亲戚关系证明
2015/06/24 职场文书
2016年重阳节慰问信
2015/12/01 职场文书