Die vorgeschlagene Antwort die Ausgabe von less --version
zu beobachten war meine Situation nicht auf Solaris 10 adressieren - die ersten beiden Zeilen lesen:
less 436
Copyright (C) 1984-2009 Mark Nudelman
Ich kann nicht eine offensichtliche regex Bibliothek in der Liste der dynamischen Abhängigkeiten sehen :
$ ldd /usr/bin/less
libcurses.so.1 => /lib/libcurses.so.1
libc.so.1 => /lib/libc.so.1
libm.so.2 => /lib/libm.so.2
/lib/libm/libm_hwcap1.so.2
/platform/sun4v/lib/libc_psr.so.1
man libc
zeigt an, dass mehrere Regex-Schnittstellen von der Bibliothek angeboten werden: regcmp
, re_comp
und regcomp
.
Durch elfdump
gegen die binären läuft, kann ich Verweis auf das Symbol sehen regcomp
:
$ elfdump /usr/bin/less | egrep -i 'posix|pcre|regcmp|re_comp|regcomp|regcomp-local'
[452] 0x0003d6a0 0x00000000 FUNC GLOB D 0 UNDEF regcomp
[452] regcomp
R_SPARC_JMP_SLOT 0x3d6a0 0 .rela.plt regcomp
Wenn dies ein Link auf die Compiler-Funktion regcomp
regex ist, dann ist der Readme-Text in der Antwort von @ hek2mgl schlägt vor, dass diese less
Binär POSIX Regexes (oder Spencer V8 Regexes, wenn in die Binärdatei kompiliert?) verwenden.
Die Manpage regcomp(3C)
lautet:
DESCRIPTION
These functions interpret basic and extended regular expres-
sions (described on the regex(5) manual page).
in less
mit sucht Experimenting, habe ich, dass die Regex Wiederholungsoperator entdeckt {...}
ohne Backslash funktioniert entkommt. Die Manpage für regex(5)
auf meinem System definiert dies als Extended Regular Expression (ERE) -Syntax.
Schließlich habe ich several interessante descriptions der Schnittstellen verschiedenen regex Motoren gefunden, im Folgenden zusammengefasst:
Engine Interface
---------------- --------------------------------
GNU re_compile_pattern() and regex.h
PCRE pcre_compile and pcre.h/pcre2_compile and pcre2.h
POSIX regcomp() and regex.h
Henry Spencer V8 regcomp() and regexp.h
BSD re_comp()
System V regcmp()
nicht eine vollständige Antwort, aber ich würde beginnen hier: http: //en.wikipedia. org/wiki/Comparison_of_regular_expression_engines – Jaxidian
Danke. Irgendwelche Tipps, wie man die Bibliotheken in @hek2mgls Antwort darauf abbildet? –