在 vim 正则表达式中:
如果/foo\(bar\)\@=/
匹配foo
后跟bar
那么接下来匹配bar
什么foo
?
我试过/\(foo\)\@=bar/
了,但它似乎不起作用。
这些是更简单的方法Vim
。您可以使用\zs
(比赛开始)和\ze
(比赛结束)。
foo
随后bar
foo\zebar
bar
以下foo
foo\zsbar
这:
\(foo\)\@<=\(bar\)
您应该使用正向向后(而不是向前)运算符,因为您正在尝试匹配 bar,前面是 foo。
顺便说一句,这是链接,我总是将其用作 vim regex 运算符的备忘单