请帮助我找出以下正则表达式:
我有多个文本文件。其中一些文件具有这两行文字:
我即将回家
我明天要休息一天
如果第一行存在,则应始终跟在第二行之后。但是有时第二行会丢失。我需要搜索“我很快要回家”之后没有“我明天要休息一天”行的情况。我在Eclipse中使用文件搜索。由于它具有regex支持,因此我试图找出如何匹配使用regex的特定行,而该特定行不会跟在另一个特定行之后。
请分享您对此的想法/解决方案。 此致。
答案 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匹配。
在您的情况下,负前瞻应该可以正常工作:)