我有一个大文本文件,有很多控制台输出。我对所有看起来像这样的输出感兴趣(输出和负载损失):
文本文件可以分发几个感兴趣的段落。什么是Pythonic正则表达式捕获这些值。
我可能试图在这里推动正则表达式;但是,如果在每个这样的表之前有一个###### PROJECT Name:ABCD ######,但不是之前,是否也可以捕获项目名称?
答案 0 :(得分:1)
projectname = ""
overload = ""
loss_of_load = ""
for line in data:
if line.startswith("#######PROJECT"):
projectname = line
if line.startswith("OVERLOAD"):
overload = line
if line.startswith("LOSS OF LOAD"):
loss_of_load = line
print(projectname, overload, loss_of_load)
答案 1 :(得分:1)
试试这个正则表达式:
\#\#\#\#\#\#PROJECT\s+Name:\s+(?P<PROJECT_NAME>.+?)\#\#\#\#\#\#
.+?
(?P<OVERLOAD>OVERLOAD\(%\)(?:\s+\d+\.\d+){4}).+?
(?P<LOSS_OF_LOAD>LOSS\s+OF\s+LOAD\s+\(M\)(?:\s+\d+\.\d+){4})
sxg