下面是我的列表,
filelist = ["TEST.FILE.D.EVENT_1.dat_PROCESSED_20190218135317471809", "TEST.FILE.D.EVENT_2.dat_PROCESSED_20190218135317910679", "TEST.FILE.D.EVENT_DETAILS.dat_PROCESSED_20190108152515294319", "TEST.FILE.D.EVENT_TYPES.dat_PROCESSED_20190108153806491483"]
这是我的模式,
filenameregex = 'TEST.FILE.D.EVENT_[0-9]*.dat'
如何使用python中的filelist.regex(....)模式过滤此结果?
预期结果:
expectedresult = ["TEST.FILE.D.EVENT_1.dat_PROCESSED_20190218135317471809", "TEST.FILE.D.EVENT_2.dat_PROCESSED_20190218135317910679"]
答案 0 :(得分:1)
我们在这里
import re
rx = re.compile(r"""TEST\.FILE\.D.EVENT_[0-9]*\.dat""")
filelist = ["TEST.FILE.D.EVENT_1.dat_PROCESSED_20190218135317471809", "TEST.FILE.D.EVENT_2.dat_PROCESSED_20190218135317910679", "TEST.FILE.D.EVENT_DETAILS.dat_PROCESSED_20190108152515294319", "TEST.FILE.D.EVENT_TYPES.dat_PROCESSED_20190108153806491483"]
expectedresult = list(
filter(
lambda file: rx.match(file),
filelist
)
)
print(expectedresult)
哪个产量
['TEST.FILE.D.EVENT_1.dat_PROCESSED_20190218135317471809', 'TEST.FILE.D.EVENT_2.dat_PROCESSED_20190218135317910679']