我有文本文件“ Test_input.txt”,其中包含如下所示的数据:
SAS I:
ST.I_FAIL:
(I) @LINE: 9
>>>
>>> Value
ST.VND_PORT:
TEXT:<<SOIS>>.STV:SV
SAS II:
ST.I_FAIL:
(I) @LINE: 20
>>> 20
>>> compare
ST.VND_PORT:
TEXT:<<SOIS>>.STV:SV
SAS III:
ST.I_FAIL:
(I) @LINE: 50
>>> 20
>>> 50
>>>50
>>>50
ST.VND_PORT:
TEXT:<<SOIS>>.STV:SV
输出文件应按如下所示进行修改(“ Test_output.txt”):
SAS I:
TEXT:<<SOIS>>.STV:SV
SAS II:
TEXT:<<SOIS>>.STV:SV
SAS III:
TEXT:<<SOIS>>.STV:SV
有900个案例(从SAS I到SAS 900)。
它们每个都有错误,如以上文本所示。要从“ Test_input.txt”中手动删除所有错误,将花费大量时间。 因此,我使用了正则表达式,如下所示,它在notepad ++工具中运行良好:
```(?s-i)^ST.I_FAIL:.+?\RST.VND_PORT:.+?```
从“ Test_input.txt”中删除执行类似操作的错误行的python等价代码是什么?
如果您真正想捕获的只是包含“ SAS ...”和“ TEXT:...”的行,并且总共只有〜900行。我会尝试如下所示的正则表达式来匹配它们:
希望这会有所帮助。