(?!\.php)
é um operador perl regexp. less
geralmente usa a API POSIX regexp do sistema, de modo que as expressões regulares estendidas do GNU em um sistema GNU vim
usam vim
expressões regulares.
Em vim
, como já mostrado por cuonglm, o equivalente a index(?!\.php)
seria index\(\.php\)\@!
ou \vindex(\.php)@!
.
Pois less
, em tempo de compilação, você pode escolher a biblioteca / API regex e, como resultado, o tipo de expressão regular a ser usado:
--with-regex={auto,gnu,pcre,posix,regcmp,re_comp,
regcomp,regcomp-local,none}
Select a regular expression library auto
Por padrão, porém, less
usará o POSIX regcomp
com REG_EXTENDED, para que você obtenha as expressões regulares estendidas do seu sistema, geralmente algo semelhante ao grep -E
.
No regexp estendido do GNU, não há um operador equivalente para trás ou para frente.
Você poderia fazer da maneira mais difícil:
index($|[^.]|\.($|([^p]|p($|([^h]|h($|[^p]))))))
Com less
, você pode usar a &
tecla para filtrar as linhas que contêm index.php
( &!index\.php
) e depois procurar index
( /index
). (você ainda sentiria falta das outras instâncias index
que aparecem em uma linha que também contém index.php
).