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

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

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

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

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

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

d代表数组,然后后面带符号的话,符号要在*后面添加,s是空格还是tab之类的,是代表间断,具体也不清楚是什么。。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教程》。

来源:PY学习网:原文地址:https://www.py.cn/article.html

hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » python如何匹配txt