Câu trả lời gợi ý để quan sát đầu ra của less --version
không giải quyết tình trạng của tôi trên Solaris 10 - hai dòng đầu tiên đọc:
less 436
Copyright (C) 1984-2009 Mark Nudelman
Tôi không thể nhìn thấy một thư viện regex rõ ràng trong danh sách phụ thuộc năng động :
$ 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
chỉ ra rằng nhiều giao diện regex được cung cấp bởi thư viện: regcmp
, re_comp
và regcomp
.
Bằng cách chạy elfdump
so với nhị phân, tôi có thể thấy tham chiếu đến các biểu tượng 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
Nếu đây là một liên kết đến regcomp
regex chức năng biên dịch, sau đó các README văn trong câu trả lời từ @ hek2mgl gợi ý rằng số nhị phân less
này có thể sử dụng các cụm từ POSIX (hoặc các regex của Spencer V8, nếu được biên dịch thành nhị phân?).
Các trang người đàn ông cho regcomp(3C)
đọc:
DESCRIPTION
These functions interpret basic and extended regular expres-
sions (described on the regex(5) manual page).
Thử nghiệm với các tìm kiếm trong less
, tôi đã phát hiện ra rằng các nhà điều hành lặp lại regex {...}
hoạt động mà không xuyệc ngược thoát. Trang manpage cho regex(5)
trên hệ thống của tôi định nghĩa cú pháp này dưới dạng cú pháp Biểu thức chính quy mở rộng (ERE).
Cuối cùng, tôi đã tìm thấy several thú descriptions các giao diện của động cơ regex khác nhau, tóm tắt dưới đây:
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()
Không phải là một câu trả lời đầy đủ, nhưng tôi muốn bắt đầu ở đây: http: //en.wikipedia. org/wiki/Compare_of_regular_expression_engines – Jaxidian
Cảm ơn. Bất kỳ lời khuyên nào về cách ánh xạ các thư viện trong câu trả lời của @ hek2mgl cho điều này? –