(?!\.php)
ist ein Perl-Regexp-Operator. less
verwendet in der Regel, POSIX regexp API des Systems so typisch GNU erweiterte reguläre Ausdrücke auf einem GNU - System, vim
verwendet vim
reguläre Ausdrücke.
In vim
, wie bereits durch cuonglm gezeigt, das äquivalent index(?!\.php)
wäre index\(\.php\)\@!
oder \vindex(\.php)@!
.
Zum less
Zeitpunkt 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 less
wird jedoch POSIX regcomp
mit 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 less
kö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
).