1

在 vim 正则表达式中:

如果/foo\(bar\)\@=/匹配foo后跟bar
那么接下来匹配bar什么foo

我试过/\(foo\)\@=bar/了,但它似乎不起作用。

4

2 回答 2

5

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

匹配foo随后bar

foo\zebar

匹配bar以下foo

foo\zsbar
于 2012-04-08T00:53:28.590 回答
2

这:

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

您应该使用正向向后(而不是向前)运算符,因为您正在尝试匹配 bar,前面是 foo。

顺便说一句,这是链接,我总是将其用作 vim regex 运算符的备忘单

于 2012-04-08T00:46:20.337 回答