2010-12-20 114 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