我如何匹配某个数字之前的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