品易云推流 关闭
文章详情页
文章 > Python常见问题 > python如何匹配txt

python如何匹配txt

头像

silencement

2020-02-15 10:41:372301浏览 · 0收藏 · 0评论

python很强大,python的正则表达式很好用

下面就说说怎么用python的正则表达式来匹配txt文本中的字符吧。

首先,要知道自己匹配的字符串是什么形式的,然后根据自己的字符串形式来写出对应的正则表达式

例如这次,我需要匹配的是数字加逗号加数字的字符串形式

所以我的正则表达式的形式如下

rule_name = r'\b(\d*,+\d+)\s'
compile_name = re.compile(rule_name, re.M)

\d代表数组,然后后面带符号的话,符号要在*后面添加,\s是空格还是tab之类的,\b是代表间断,具体也不清楚是什么。。r代表的是

生字符串的意思,然后()里面的是最后得到的字符串,在这里,我的字符串不需要那些空格或者间断之类的,所以就在那些\d那里加了括

号,具体是要用其他代表形式的话,可以直接百度,找到例如字母的表达。

然后下面就要用compile,里面的re.M的意思就是多行匹配,具体什么意思我也不是很清楚,不知道是文本不止一行时用,还是说匹配的

字符有多行的时候用,但是我这样写并没有出现错误,所以就继续这样写了。

然后就是打开txt文件,这个很简单

#"获取文本"
f = open(path)
st = f.read()

path就是文本的路径了

之后直接调用findall函数,可以直接找到在这个文本里的所有符合表达式的字符串,并且返回一个list,里面就是找到的所有字符串了

res_name = compile_name.findall(st)

这个res_name就是一个list,里面包含了找到的所有字符串了

调用的时候,直接res_name[i]就可以找到对应的第i个字符串了

推荐学习《Python教程》。

关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

底部广告图