我想创建一个正则表达式,以仅获取以日期开头的行(忽略其他行)以及上面带有单词“ Prefix”的行。正则表达式应如何显示?
我的txt文件具有以下结构:
Prefix : 0051601
Data Material No. OS Hist. Nr/Controle Quant. Vlr.Unit. Vlr.Total
----------------------------------------------------------------------------------------------------------------------------------------
13/01/2008 00101050 Lampada farol H5 24V 003 4863 2,000 9,870556 19,7411
====== Total dia 13/01/2008 ======
Entradas :
Saídas : 2,000 19,7411
-------------------------------------------------------------------
主要代码是:
import glob, os
import re
os.chdir("./txtfiles/")
for file in glob.glob("*.txt"):
with open(file) as f:
content = f.readlines()
# not working, just for test purpose
result = re.match(r'Prefix', content, re.M|re.I)
if result:
print(content)
else:
print "no match found!"
答案 0 :(得分:1)
如果没有re
,接下来的情况又如何呢?假设在行2和5处唯一带有/
的行...
with open(file) as f:
for line in f:
if line[2]==line[5]=='/' or 'Prefix' in line:
print(line)
答案 1 :(得分:1)
您可以使用此正则表达式来识别这些行。
使用findall获取所有行。
r"(?im)(?:^[^\S\r\n]*\d+/\d+/\d+|.*\bprefix).*"