在“less”中使用正则表达式

在“less”中使用正则表达式

我试图在 Bash 的手册页中使用正则表达式,方法是使用less.

我按下/输入less一个模式,然后输入z并按下Enter。我预计它与大写z( Z) 不匹配,但它确实匹配。

我该如何使其不匹配Z?这些不区分大小写的正则表达式是什么样的?

答案1

-i很确定你可以通过使用或来解决这个问题,+i以便将 less 设置为默认值。

答案2

它在 的手册页中进行了解释less

RE 的默认操作是如果不存在大写字符则忽略大小写,否则则区分大小写。

内有三种可用模式less

  1. 大小写上下文相关:没有大写字符的搜索或 RE 被视为不区分大小写,但包含至少一个大写字符的搜索或 RE 被视为区分大小写。示例:abc将匹配abcand aBC,但aBc仅匹配aBcand ,不匹配abcor ABC。这是默认设置。
  2. 区分大小写:搜索或 RE 会充分考虑任何字母的大小写。示例:abC仅匹配abC且不匹配abcABC
  3. 不区分大小写:搜索或 RE 不考虑任何字母的大小写。示例:abC将匹配abcabC或中的任何一个ABC

您可以使用 切换区分大小写的比较-I,以及使用 切换区分大小写上下文的比较-i

可以通过三种方式指定控件:

  • 在命令行上,例如less -I bigfile.txt
  • 在环境中,例如export LESS=-i和以后less bigfile.txt
  • less其内部,例如通过启动less bigfile.txt然后键入-i.

相关内容