我有一个关于在 Vim 中使用正则表达式的问题。
使用字符类时,如果我使用模式 [a-y]
进行搜索,则搜索不区分大小写。
但是模式a-z
似乎使搜索区分大小写。
我认为这是因为z
。但不知道为什么。
我在 Win 8.1 上使用 gVim 7.4。
并且[a-z]
中的字符z
是小写的z
将模式更改为 a-Z
会使搜索也区分大小写。
使用模式a-Y
,奇怪的是会发生“错误范围”错误。
以下图片是有关编码和配置的说明。
谢谢大家。 :)
最佳答案
最直接的答案是,在一个搜索中,区分大小写是打开的,而在另一个搜索中,则不是。请参阅 :help 'ignorecase
。
如果情况并非如此,那么我重现此情况的唯一方法是使用看起来像 ASCII z
的字符,但实际上是完全不同的字符。在类似于 ASCII z
的字符中,我能找到的唯一能重现此行为的字符是 U+0396 希腊大写字母 Zeta:Ζ
。
即使这个理论也有点不稳定,因为这个字符看起来像大写的 Z
,而不是小写的 z
- 至少在我的屏幕上是这样。
仅根据上面的屏幕截图和您的描述,很难确定这就是问题所在。您的问题中有关您如何输入搜索字符、您正在使用什么编码、您的键盘布局是什么等的更多信息可能会帮助别人写出比这个更好的答案。
关于regex - Vim 中的字符类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35250273/