正则表达式在vim中搜索
问题描述:
我正在使用vim在文本文件上进行一些模式匹配。我已启用搜索高亮显示功能,以便我确切知道每次搜索中匹配的内容,并且感到困惑。正则表达式在vim中搜索
考虑在下面的文本搜索[a-z]*
:
123456789abcdefghijklmnopqrstuvwxyxz987654321ABCDEFGHIJKLMNOPQRSTUVWQXZ
我预计今年的搜索相匹配的连续零个或多个字符的范围是[A-Z]。相反,我在整条线上获得了一场比赛。
这应该是预期的行为?
感谢,
安德鲁
答
它匹配的每个字符后出现的空字符串。它无法突出显示空白范围,因此它看起来像一切都突出显示。
尝试搜索[a-z]\+
。
答
空字符串匹配[a-z]*
...因此,这个东西是无处不在。也许你想通过做[a-z]+
(1或更多)或[a-z]{4,}
(4或更多)来减少一些情况。
答
你没有在整条线上获得一场比赛,你会在每个角色上获得一场比赛。你的模式也完全不匹配,每一个字符都会匹配。
+0
*任何*字符匹配空白似乎很奇怪... – ajwood 2010-12-21 15:11:13
您是否试过'[a-z] +'而不是? – Amber 2010-12-20 21:37:11