我试图在 Bash 的手册页中使用正则表达式,方法是使用less
.
我按下/输入less
一个模式,然后输入z
并按下Enter。我预计它与大写z
( Z
) 不匹配,但它确实匹配。
我该如何使其不匹配Z
?这些不区分大小写的正则表达式是什么样的?
答案1
-i
很确定你可以通过使用或来解决这个问题,+i
以便将 less 设置为默认值。
答案2
它在 的手册页中进行了解释less
。
RE 的默认操作是如果不存在大写字符则忽略大小写,否则则区分大小写。
内有三种可用模式less
:
- 大小写上下文相关:没有大写字符的搜索或 RE 被视为不区分大小写,但包含至少一个大写字符的搜索或 RE 被视为区分大小写。示例:
abc
将匹配abc
andaBC
,但aBc
仅匹配aBc
and ,不匹配abc
orABC
。这是默认设置。 - 区分大小写:搜索或 RE 会充分考虑任何字母的大小写。示例:
abC
仅匹配abC
且不匹配abc
或ABC
。 - 不区分大小写:搜索或 RE 不考虑任何字母的大小写。示例:
abC
将匹配abc
、abC
或中的任何一个ABC
。
您可以使用 切换区分大小写的比较-I
,以及使用 切换区分大小写上下文的比较-i
。
可以通过三种方式指定控件:
- 在命令行上,例如
less -I bigfile.txt
。 - 在环境中,例如
export LESS=-i
和以后less bigfile.txt
。 - 在
less
其内部,例如通过启动less bigfile.txt
然后键入-i
.