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个字符串了
至此,文本匹配完毕,比较简单的操作,几行代码就实现了,虽然当时百度的时候也是百度了很久,但是最后还是成功了,比较开始,打码会开心,大概就是因为反馈快吧,可以很快就让你知道你付出的努力有没有回报。哈哈哈哈