多行模式的正则表达式,然后它们彼此跟随



我正在寻找有"aaa"one_answers";bbb"按此顺序,并且这些字符串位于不同的行。

11 aaa blah blah
bbb blah blah
blah blah blah blah
aaa blah blah blah blah
blah blah blah blah
11 bbb blah blah
blah blah blah blah

使用这个多行模式.*?(.|n)*?,我得到字符串之间的所有行:

11 aaa blah blah
bbb blah blah
aaa blah blah blah blah
blah blah blah blah
11 bbb blah blah

但是我需要匹配它们,只有当它们彼此跟随时。例如:aaa在第一行,bbb在第二行。输出应该是:

11 aaa blah blah
bbb blah blah

可以使用

pcregrep -Mo '.*aaa.*R.*bb.*' file

M选项允许pcregrep"看到";将换行符与正则表达式进行匹配,o将输出匹配的文本。

模式匹配

  • .*aaa.*-包含aaa的一行
  • R-换行
  • .*bbb.*-包含bbb
  • 的一行

相关内容

  • 没有找到相关文章

最新更新