Vim正则表达式匹配酒吧跟随foo

时间:2012-04-08 00:36:14

标签: regex vim

在vim正则表达式中:

如果/foo\(bar\)\@=/foo匹配,后跟bar 那么匹配bar后的foo是什么?

我尝试了/\(foo\)\@=bar/,但似乎没有效果。

2 个答案:

答案 0 :(得分:5)

这些是Vim中更简单的方法。您可以使用\zs(匹配开始)和\ze(匹配结束)。

匹配foo后跟bar

foo\zebar

bar

之后匹配foo
foo\zsbar

答案 1 :(得分:2)

这:

\(foo\)\@<=\(bar\)

你应该使用正面 lookbehind (而不是lookahead)运算符,因为你试图匹配bar,之前

BTW,这是链接,我总是将其用作cheatsheet for vim regex operators