2016-05-23 74 views
-1

我想查找FAIL,但如果它位于包含Advocacy的同一行上,则不能。需要排除包含其他单词的多行中的单词

如果服务的状态为关闭,页面上的多行包含FAIL。我试图在整个文档中找到FAIL,但排除包含其他单词的每一行。

实施例:

  • Advocacy WS Ping <10 FAIL URL: https://ncweb.blackbaud.com/CapWizService/MasterService.asmx
  • Advocacy WS URL <10 FAIL Advocacy URL:
  • Advocacy Target Service Web Service Ping <10 FAIL https://AdvocacyService.Blackbaudhosting.com/MasterService.asmx
  • BBDM End Point Ping <10 FAIL URL: https://bbisec04pro.blackbaudhosting.com/14546P_f7ca13f1-5e8f-48a5-aad2-0867d2b2f72e/Download/CustomFileDownload.ashx

所以第3行中的所有包含宣传和在故障状态。谢谢你的帮助。

+1

使用两米有序的正则表达式/ grep的 –

+1

在其编程语言或环境是这个正在尝试? – agc

+0

Javascript,抱歉。 – user2596457

回答

2

使用负先行断言

/^(?!.*Advocacy.*).*(FAIL)/gm 

这表示该行的开头匹配,并确保开头后面没有(后跟任意数量的字符通过“倡导”),但实际上并不匹配。然后,一旦检查到“倡导”不在任何位置,请查找任意数量的字符,然后选择“失败”。

https://regex101.com/r/vY1yO6/2看到它在行动与您的测试数据

+1

谢谢,这工作。 8) – user2596457

+0

我不能在我的应用程序中使用/ gm命令。有没有办法手动跳过3行(总是会有3行以Advocacy开头),然后在任何时候捕获FAIL? – user2596457

+0

当然。 '/(?:。* \ n){3}。*(FAIL)/'https://regex101.com/r/vY1yO6/5 –

1

grep失败< somepage.html | grep的-v倡导

+0

* NIX的好帮手。对不起,这是针对Javascript/Windows的。 – user2596457

相关问题