我更喜欢使用 php 或 perl 的答案,因为我可以轻松使用它们
文件格式如下:
Name : ...
INSERT INTO (...) Values (...)
Name : ... <--- These are the lines I need
INSERT INTO (...) Values (...) <---
<span style='color:red;'>FAILED to INSERT ...</span>
Name : ...
INSERT INTO (...) Values (...)
...
“FAILED to INSERT”跨度后面的行是我感兴趣的行。我想删除所有成功的插入,只留下 Name: 和 INSERT INTO 部分失败的行。
“名称:”和“插入...”部分不一定在一行。
这是我认为我需要匹配的伪模式:
(/Name:/)(any character)(/INSERT INTO/)(anything but not /Name:/)(/FAILED to INSERT/)
这会让我留下
Name: ...
INSERT INTO ...
<span ...> FAILED to INSERT
对于每个失败的插入
我熟悉一些正则表达式基础知识,但可以使用一些帮助。我怎么能在 perl 或 php 中做到这一点?