我有一个看起来像这样的txt文件
0001 fd
0002 gfgd
0003 hgjhgj
0004 hfhfdgd
0005 nfgnghfgh
0006 hfhfg
0007 fgdgdfhf vn
我需要提取最后两行0006
和0007
。
如何使用regex for python执行此操作?
注意:在txt文件中,数字是随机的,并在文件的不同部分重复。意思是可以有多个0006。
答案 0 :(得分:0)
试试这个:
import re
filetext = open('file.txt')
for line in filetext:
line = line.rstrip()
if re.search('0006|0007', line):
print(line)
它会给你这样的结果:
0006 hfhfg
0007 fgdgdfhf vn
希望这会对你有所帮助! :)
答案 1 :(得分:0)
如果您只需要最后两行,则可以使用readlines()
和list slicing
。
<强>实施例强>
import re
with open(filename, "r") as infile:
data = infile.readlines()[-2:]
print(re.findall("\d+", " ".join(data)))
<强>输出:强>
['0006', '0007']