(?!\.php)es un operador perge regexp. lessgeneralmente usa la API de expresión regular POSIX del sistema, por lo que generalmente las expresiones regulares extendidas de GNU en un sistema GNU vimusan vimexpresiones 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, lessusará POSIX regcompcon 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 indexque aparecen en una línea que también contiene index.php).