(?!\.php)ist ein Perl-Regexp-Operator. lessverwendet in der Regel, POSIX regexp API des Systems so typisch GNU erweiterte reguläre Ausdrücke auf einem GNU - System, vimverwendet vimreguläre Ausdrücke.
In vim, wie bereits durch cuonglm gezeigt, das äquivalent index(?!\.php)wäre index\(\.php\)\@!oder \vindex(\.php)@!.
Zum lessZeitpunkt der Kompilierung können Sie die Regex-Bibliothek / API und als Ergebnis den zu verwendenden Regex-Typ auswählen:
--with-regex={auto,gnu,pcre,posix,regcmp,re_comp,
regcomp,regcomp-local,none}
Select a regular expression library auto
Standardmäßig lesswird jedoch POSIX regcompmit REG_EXTENDED verwendet, sodass Sie die erweiterten regulären Ausdrücke Ihres Systems erhalten, also normalerweise etwas Ähnliches wie mit grep -E.
In GNU Extended Regexp gibt es keinen vergleichbaren Look-Behind- oder Look-Ahead-Operator.
Sie könnten es auf die harte Tour machen:
index($|[^.]|\.($|([^p]|p($|([^h]|h($|[^p]))))))
Mit lesskönnten Sie möglicherweise die &Taste verwenden, um die Zeilen herauszufiltern, die index.php( &!index\.php) enthalten, und dann nach index( /index) zu suchen . (Sie würden immer noch die anderen Instanzen vermissen index, die in einer Zeile mit enthalten sind index.php).