(?!\.php)
jest operatorem regularnym perla. less
zazwyczaj używa systemowego wyrażenia regularnego POSIX, więc zwykle rozszerzone wyrażenia regularne GNU w systemie GNU vim
używają vim
wyrażeń regularnych.
W vim
, jak już pokazano przez cuonglm, odpowiednikiem index(?!\.php)
byłoby index\(\.php\)\@!
lub \vindex(\.php)@!
.
W less
czasie 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 less
użyje POSIX-a regcomp
z 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 less
pomocą &
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, index
które pojawiają się w wierszu zawierającym index.php
).