如何在python中将这些字符串与regex匹配

时间:2018-05-21 09:16:55

标签: python regex

我有一个看起来像这样的txt文件

0001 fd
0002 gfgd
0003 hgjhgj
0004 hfhfdgd
0005 nfgnghfgh
0006 hfhfg
0007 fgdgdfhf vn

我需要提取最后两行00060007

如何使用regex for python执行此操作?

注意:在txt文件中,数字是随机的,并在文件的不同部分重复。意思是可以有多个0006。

2 个答案:

答案 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']