python如何匹配txt
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