(?!\.php)jest operatorem regularnym perla. lesszazwyczaj używa systemowego wyrażenia regularnego POSIX, więc zwykle rozszerzone wyrażenia regularne GNU w systemie GNU vimużywają vimwyrażeń regularnych.
W vim, jak już pokazano przez cuonglm, odpowiednikiem index(?!\.php)byłoby index\(\.php\)\@!lub \vindex(\.php)@!.
W lessczasie kompilacji możesz wybrać bibliotekę wyrażeń regularnych / interfejs API, a tym samym typ wyrażeń regularnych do użycia:
--with-regex={auto,gnu,pcre,posix,regcmp,re_comp,
regcomp,regcomp-local,none}
Select a regular expression library auto
Jednak domyślnie lessużyje POSIX-a regcompz REG_EXTENDED, więc otrzymasz rozszerzone wyrażenia regularne swojego systemu, więc zwykle coś podobnego jak z grep -E.
W rozszerzonym wyrażeniu regularnym GNU nie ma równoważnego spojrzenia za siebie ani operatora patrzenia w przyszłość.
Możesz to zrobić na własnej skórze:
index($|[^.]|\.($|([^p]|p($|([^h]|h($|[^p]))))))
Za lesspomocą &klawisza można ewentualnie odfiltrować wiersze zawierające index.php( &!index\.php), a następnie wyszukać index( /index). (nadal będziesz tęsknić za innymi przypadkami, indexktóre pojawiają się w wierszu zawierającym index.php).