在哪里可以找到less
正则表达式搜索模式的参考?
我想使用less
查找\d
数字来搜索文件,但它似乎不理解这个通配符。我试图找到正则表达式模式的参考less
,但在手册页和互联网上都找不到任何东西。
答案1
less
的手册页说:
/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.
因此接受的语法可能取决于您的系统。副手,它似乎在我的 Debian 系统上接受扩展的正则表达式,请参阅regex(7)
, 和为什么我的正则表达式在 X 中有效但在 Y 中无效?
\d
来自 Perl,并非所有正则表达式引擎都支持。使用[0-9]
或[[:digit:]]
来匹配数字。 (它们的确切行为可能取决于区域设置。)
答案2
支持的表达式less
记录在re_format(7)
手册中 ( man 7 re_format
)。该手册描述了系统上可用的扩展正则表达式和基本正则表达式。该less
实用程序理解扩展的正则表达式。
要匹配数字,您可以使用[0-9]
or [[:digit:]]
(略有不同,因为前者取决于当前区域设置)。该\d
模式是类似 Perl 的正则表达式 (PCRE),不受less
.