使用正则表达式

时间:2018-07-04 18:01:11

标签: regex eclipse search

请帮助我找出以下正则表达式:

我有多个文本文件。其中一些文件具有这两行文字:

我即将回家

我明天要休息一天

如果第一行存在,则应始终跟在第二行之后。但是有时第二行会丢失。我需要搜索“我很快要回家”之后没有“我明天要休息一天”行的情况。我在Eclipse中使用文件搜索。由于它具有regex支持,因此我试图找出如何匹配使用regex的特定行,而该特定行不会跟在另一个特定行之后。

请分享您对此的想法/解决方案。 此致。

1 个答案:

答案 0 :(得分:1)

https://regex101.com/r/f2GWfH/2

I am going home soon(?=\s+I am taking a day off tomorrow)将匹配

I am going home soon.
I am taking a day off tommorow

但不仅限于I am going home soon.,它将与I am going home soon.后跟I am taking a day off tommorow的匹配。

在反面I am going home soon(?!\s+I am taking a day off tomorrow)上将匹配不跟I am going home soon.的{​​{1}}

  

这些被称为消极和积极前瞻。

     

I am taking a day off tommorow是一个积极的展望,它与a或a后面跟b匹配。

     

a(?=b)是对前面的否定观察,它与ac匹配,或者与a后面不跟b匹配。

在您的情况下,负前瞻应该可以正常工作:)