在eclipse的默认的文件搜索(File Search)中,是没有全字符匹配(whole word)的选择的.但是很多情况下,我们需要全字符匹配搜索的.
没有全字符匹配搜索,会搜出一大堆的不想要的结果出来.如果项目工程代码中有 skill, skillId, skillLeve,my_skill等这些变量,如果我要搜skill这个,但是skillId, skillLeve,my_skill这几个也会出现在搜索的结果中.这样搜索结果过多,达不到理想的目的.那怎么样才能全字符匹配搜索呢?
我们看搜索选项中有正则表达式(Regular expression)的选项, 我们用正则表达过滤一下就可以了.我最初想到的是用([^a-zA-Z]),如([^a-zA-Z])skill([^a-zA-Z]),排除skill这个单词前后的字母.但后来发现写起来麻烦而且效果不是很理想.后来在johny.org上看到了更好的办法.就是用\b这个在正则表达式语法中是匹配单词边界.我们就可以写成\bskill\b用正则表达式搜就只搜出skill的了.
参考johny.org: http://www.johny.org/2011/10/eclipse-whole-word-search-in-workspace/