(?!\.php)
es un operador perge regexp. less
generalmente usa la API de expresión regular POSIX del sistema, por lo que generalmente las expresiones regulares extendidas de GNU en un sistema GNU vim
usan vim
expresiones regulares.
En vim
, como ya se muestra por cuonglm, el equivalente de index(?!\.php)
sería index\(\.php\)\@!
o \vindex(\.php)@!
.
Para less
, en el momento de la compilación, puede elegir la biblioteca / API de expresiones regulares y, como resultado, el tipo de expresiones regulares que se utilizará:
--with-regex={auto,gnu,pcre,posix,regcmp,re_comp,
regcomp,regcomp-local,none}
Select a regular expression library auto
Sin embargo, de manera predeterminada, less
usará POSIX regcomp
con REG_EXTENDED, por lo que obtendrá las expresiones regulares extendidas de su sistema, por lo que generalmente es algo similar a con grep -E
.
En GNU Extended regexp, no hay un operador equivalente de mirar hacia atrás o mirar hacia adelante.
Podrías hacerlo de la manera difícil:
index($|[^.]|\.($|([^p]|p($|([^h]|h($|[^p]))))))
Con less
, posiblemente podría usar la &
tecla para filtrar las líneas que contienen index.php
( &!index\.php
) y luego buscar index
( /index
). (aún extrañaría las otras instancias index
que aparecen en una línea que también contiene index.php
).