gpt4 book ai didi

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

转载 作者:qq735679552 更新时间:2022-09-29 22:32:09 25 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章如何利用python正则表达式匹配版本信息由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

问题描述:

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

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

首先构造正则表达式:

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

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

?
1
2
3
4
5
6
7
8
9
10
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' 。

?
1
2
3
>>> s = 'ababab abbabb aabaab'
 
>>> re.findall( r '\b(?:ab)+\b' , s )

结果:[‘ababab'] 。

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

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

结果:[‘ab'] 。

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

调试过程:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
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 。

?
1
2
3
4
5
6
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正则匹配版本信息内容请搜索我以前的文章或继续浏览下面的相关文章希望大家以后多多支持我! 。

原文链接:https://blog.csdn.net/bangyumi/article/details/105544858 。

最后此篇关于如何利用python正则表达式匹配版本信息的文章就讲到这里了,如果你想了解更多关于如何利用python正则表达式匹配版本信息的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com