(?!\.php)
é um operador perl regexp. less
geralmente usa a API regexp POSIX do sistema, então expressões regulares estendidas normalmente no GNU em um sistema GNU, vim
usa vim
expressões regulares.
Em vim
, como já mostrado por cuonglm, o equivalente a index(?!\.php)
seria index\(\.php\)\@!
ou \vindex(\.php)@!
.
Para less
, em tempo de compilação, você pode escolher a biblioteca / API regex e, como resultado, o tipo de regex 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, less
usará POSIX regcomp
com REG_EXTENDED, portanto, você obterá as expressões regulares estendidas de seu sistema, então normalmente algo semelhante com grep -E
.
Na regexp estendida do GNU, não há um look equivalente por trás ou um operador do futuro.
Você pode fazer isso 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, em seguida, pesquisar por index
( /index
). (você ainda perderia as outras instâncias de index
que aparecem em uma linha que também contém index.php
).