匹配上一场比赛之前的最后一次发生



我如何匹配某个数字之前的foo的最后一次出现?

foo: A
  1
  2
foo: B
  1
foo: C
  2

搜索模式2应返回:

foo: A
foo: C

使用awk:

awk -v s='2' '/^foo:/{line=$0;next} $1==s{print line}' file
foo: A
foo: C

这个正则肯定可以使用一些优化,但应该有效:

foo: [A-Z](?=(?:(?!foo)[^2])*2)

演示:http://regex101.com/r/cx8gm0

相关内容

  • 没有找到相关文章

最新更新