在 less 中:如何输入搜索模式 '(#'

在 less 中:如何输入搜索模式 '(#'

我较少,版本 590,我可以输入搜索模式\(来搜索左括号。

我可以输入#(哈希字符)来搜索它。

但是,当我必须搜索两个字符(左括号后跟哈希字符)时,我无法完成此操作。

我该如何输入这个?

答案1

更少的联机帮助页,我们了解到:

该模式是一个正则表达式,由系统提供的正则表达式库识别。

无论库提供什么,括号都是特殊字符当需要作为文字时,应该通过紧接前面的反斜杠进行转义。
在 中less,您可能会找到自己的键入方式:

/\(#

答案2

less将其搜索字符串视为扩展正则表达式。最重要的是,如果在开始时输入,则 、 和 会被man less特殊!对待*@

因此,如果要按字面意思理解,所有 3 个字符(以及一些控制字符)以及 ERE 语法中的所有特殊字符 ( $^*()+{}.?\|) 都需要转义。

或者,您可以使用Ctrl+ r(这些控制字符之一从正则表达式匹配切换到子字符串搜索。您会看到提示将从 更改/Regex-off /

不过, !, @, *(以及 ^R 和其他控制字符)在开始时仍然很特殊。

相关内容