Vim积极的lookahead正则expression式

我仍然不习惯vim regex的语法。 我有这个代码:

rename_column :keywords, :textline_two_id_4, :textline_two_id_4 

我想在VIMs正则expression式语法中匹配最后一个id和正向lookahead。

你会怎么做?

 \id@=_\d$ 

这不起作用。

这个Perl语法的作品:

 id(?=_\d$) 

编辑 – 答案:

 /id\(_\d$\)\@= 

有人可以解释的语法?

如果你检查vim的帮助,没有太多的解释:( :h \@=

 \@= Matches the preceding atom with zero width. {not in Vi} Like "(?=pattern)" in Perl. Example matches foo\(bar\)\@= "foo" in "foobar" foo\(bar\)\@=foo nothing 

这应该匹配最后一个ID:

 /id\(_\d$\)\@= 

用“非常神奇”保存一些反斜杠:

 /\vid(_\d$)@= 

实际上,使用vim \zs \ze看起来更简单:

 id\ze_\d$