I am still not so used to the vim regex syntax. I have this code:
rename_column :keywords, :textline_two_id_4, :textline_two_id_4 I would like to match the last id with a positive lookahead in VIMs regex syntax.
How would you do this?
\id@=_\d$ This does not work.
This perl syntax works:
id(?=_\d$) Edit - the answer:
/id\(_\d$\)\@= Can someone explain the syntax?
If you check the vim help, there is not much to explain: (: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 This should match the last id:
/id\(_\d$\)\@= save some back slashes with "very magic":
/\vid(_\d$)@= actually, it looks more straightforward to use vim's \zs \ze:
id\ze_\d$
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With