2010-12-20 144 views
2

我正在使用vim在文本文件上进行一些模式匹配。我已启用搜索高亮显示功能,以便我确切知道每次搜索中匹配的内容,并且感到困惑。正则表达式在vim中搜索

考虑在下面的文本搜索[a-z]*

123456789abcdefghijklmnopqrstuvwxyxz987654321ABCDEFGHIJKLMNOPQRSTUVWQXZ

我预计今年的搜索相匹配的连续零个或多个字符的范围是[A-Z]。相反,我在整条线上获得了一场比赛。

这应该是预期的行为?

感谢,

安德鲁

+0

您是否试过'[a-z] +'而不是? – Amber 2010-12-20 21:37:11

回答

7

它匹配的每个字符后出现的空字符串。它无法突出显示空白范围,因此它看起来像一切都突出显示。

尝试搜索[a-z]\+

2

空字符串匹配[a-z]* ...因此,这个东西是无处不在。也许你想通过做[a-z]+(1或更多)或[a-z]{4,}(4或更多)来减少一些情况。

2

你没有在整条线上获得一场比赛,你会在每个角色上获得一场比赛。你的模式也完全不匹配,每一个字符都会匹配。

+0

*任何*字符匹配空白似乎很奇怪... – ajwood 2010-12-21 15:11:13