Nadal nie jestem tak przyzwyczajony do składni regex vima. Mam ten kod:Vim pozytywny wcześniejszy regex
rename_column :keywords, :textline_two_id_4, :textline_two_id_4
chciałbym aby dopasować ostatni id z pozytywnym uprzedzona w składni regex VIMS.
Jak to zrobić?
\[email protected]=_\d$
To nie działa.
Ta składnia Perl działa:
id(?=_\d$)
Edycja - odpowiedź:
/id\(_\d$\)\@=
Może ktoś wyjaśnić składnię?
Dzięki. Dlaczego muszę otaczać tekst przed \ @ = z()? – Hendrik
@Hendrik bez '()' jak może znać silnik regex, która część jest częścią pasującą do szerokości zero? – Kent
@ Hendrik nawiasy są konieczne, jeśli rzeczy przed wyprzedzeniem są grupą atomów. W twoim przypadku masz trzy atomy: '_',' \ d' i '$'. Zatem bez nawiasów, poprzednia strona szuka tylko "$", które nie jest zbyt użyteczne. Nawiasy traktowane są jak jeden atom, dzięki czemu możesz wyprzedzić '_ \ d $' – FDinoff