Wo ist weniger Suchmusterreferenz?

14

Wo finde ich eine Referenz für lessRegex-Suchmuster?

Ich möchte eine Datei mit lessverwenden \d, um Ziffern zu finden, aber es scheint diesen Platzhalter nicht zu verstehen. Ich habe versucht, eine Referenz für lessRegex-Muster zu finden, konnte aber nichts finden, nicht auf Manpages und nicht im Internet.

CodeSandwich
quelle

Antworten:

15

lessDie Manpage sagt:

   /pattern
          Search forward in the file for the N-th line containing
          the pattern.  N defaults to 1.  The pattern is a regular
          expression, as recognized by the regular expression library
          supplied by your system.

Daher kann die akzeptierte Syntax von Ihrem System abhängen. Auf der anderen Seite scheint es erweiterte reguläre Ausdrücke auf meinem Debian-System zu akzeptieren, siehe regex(7), und warum funktioniert mein regulärer Ausdruck in X, aber nicht in Y?

\dist von Perl und wird nicht von allen Regex-Engines unterstützt. Verwenden Sie [0-9]oder [[:digit:]], um Ziffern abzugleichen. (Ihr genaues Verhalten kann vom Gebietsschema abhängen.)

ilkkachu
quelle
11

Die von unterstützten Ausdrücke lesssind im re_format(7)Handbuch ( man 7 re_format) dokumentiert . Dieses Handbuch beschreibt sowohl die erweiterten regulären Ausdrücke als auch die grundlegenden regulären Ausdrücke, die auf Ihrem System verfügbar sind. Das lessDienstprogramm versteht erweiterte reguläre Ausdrücke.

Um mit einer Ziffer übereinzustimmen, würden Sie [0-9]oder verwenden [[:digit:]](es gibt einen kleinen Unterschied, da erstere vom aktuellen Gebietsschema abhängt). Das \dMuster ist ein Perl-ähnlicher regulärer Ausdruck (PCRE), der von nicht unterstützt wird less.

Kusalananda
quelle