Everything是一款稳定的文件搜索软件,很少更新,我已经使用很多年了。

下面介绍一下如何使用操作符、通配符及正则表达式来搜索以提高查找效率。

1.如何使用布尔操作符(and /or /not)?
and:查找同时含有两个字符串的文件名,中间使用空格隔开。

例如,查找foo和bar: foo bar
or:查找文件名中含有任意一个字符串的文件名,两个字符串之间添加一个|的条件,非正则时:|左右有无空格均可。
例如,查找.jpg或.bmp: .jpg | .bmp
not: 从搜索结果中排除含有!后面的字符串。
例如,查找abc同时又不含123: abc !123

2.如何使用通配符?
在你的搜索中可使用*来匹配任何类型的任何个数的字符。
例如,下面是如何搜索文件和文件夹, 同时以e开始和以g结尾: e*g, 而e*g, e* g, e *g和e * g又各不相同。
在你的搜索条件中使用?可匹配一个字符。
例如,下面是如何搜索文件扩展名中含有2个字符的文件:*.??

3.如何使用正则表达式?

在使用之前,确保已经打开正则表达式选项(菜单Search → Enable Regex)

| 竖线表示或。

例如:gray|grey 能够匹配 gray或grey(注:在正则表达式下: | 两侧没有空格)。 


() 小括号用于确定范围。

例如:gr(a|e)表示在gr和y之间有一个字母a或e。gr(a|e)y将匹配gray或grey,与gray|grey意义相同。 


? 问号表示其前一个字符可能出现,也有可能不出现。

例如:colou?r将匹配color和colour。 


* 星号表示其前一个字符可能不出现,也可能出现一次或多次。

例如:ab*c将匹配ac、abc、abbc、abbbc等等。 


+ 加号表示其前一个字符出现一次或多次。

例如:ab+c将匹配abc、abbc、abbbc等等,但不能匹配ac。 


. 点号可用匹配任何单个非新行字符。(事实上,把哪个字符称之为新行却是不一定的,可能是编码特别或位置特别,但是可以肯定的是这个行中一定包含其他字符。)

在POSIX括号表达式规则中,点号只匹配一个点。例如:a.c可以匹配abc等等字符,但是[a.c]只匹配a、.、或c。 


[ ] 中括号表示能够匹配其括号内出现的一个字符。

例如:[abc]能够匹配a、b或c。[a-z]将能够匹配a到z之间的任意一个字符。[abcx-z]能够匹配a、b、c、x、y或z,其也可以表示成[a-cx-z]。 


[^ ] [^ ]表示可以匹配任何一个没有出现在其括号内的字符,与[ ]刚好相反。

例如:[^abc]能够匹配任何一个不是a、b、c的字符。[^a-z]能够匹配任何一个非小写字母之外的字符。 


^ 匹配名称开始的位置。在以行为基础的工具中,匹配任意行的开始位置。 


$ 匹配名称结束的位置,或者匹配字符串结尾新行的结束位置。在以行为基础的工具中,匹配任意行的结束位置。

{m,n} {m,n}表示其前面的字符至少重复m次,但是重复次数少于n。

例如:a{3,5}匹配aaa、aaaa以及aaaaa,但是不能匹配aa或aaaaaa。此表达规则在一些老的版本中不可用。

4.如何在字符串中使用空格?

在你要查找的包含空格的字符串上添加双引号。

例如,下面是如何查找foo<space>bar: “foo bar”

5.如何查找一个特定的文件类型?
在搜索栏里输入要搜索的文件扩展名
例如,搜索mp3文件类型,输入类型*.mp3。
搜索多种类型的文件,可使用 | 来分隔多个文件类型,
例如,*.bmp  | *.jpg可搜索扩展名是bmp或jpg文件。
6.如何搜索一个特定的位置文件和文件夹?
要搜索一个特定的位置文件和文件夹,可在你的搜索字符串前包含一个\。
例如,下面是如何搜索downloads文件夹下所有的avi 文件: download\ .avi
你可以使用Search菜单中的Match Path 来搜索包含字符串中的位置。
例如,下面是如何在使用Match Path 来搜索downloads文件夹下所有的avi 文件: download .avi