Search Modifiers

Discussion related to "Everything" 1.5 Alpha.
Locked
void
Developer
Posts: 16745
Joined: Fri Oct 16, 2009 11:31 pm

Search Modifiers

Post by void »

All search modifiers available in Everything 1.5.

Typically, Everything will perform a partial search if no search modifier is specified.

Multiple search modifiers can be combined.



Syntax:

Search functions and normal search terms can be prefixed with zero or more search modifiers.

An Everything search is made up of search terms.
The search is broken into search terms with the following operators:
space = AND
| = OR
< > = Group search terms
" " = literal text (escape spaces, | and < >)



Examples:
len:>20 (find filenames with a length greater than 20)
len:album:>20 (find files with an album length greater than 20)
regex:^foo (find filenames starting with foo)
regex:content:^foo (find files with content starting with foo)
case:ABC path:123 (find upper case ABC with 123 anywhere in the full path)



Search modifiers can be disabled by prefixing it with: no
For example, if Match Path is enabled under the Search menu, use no-path: to disable full path matching:
nopath:abc



Prefix a search modifier with :: to enable it globally.
For example, to enable match case for the rest of the search:
::case: FOO BAR



Search modifiers can be applied to < > groups.
For example:
case:<FOO BAR>



Dashes (-) in search modifiers can be omitted.
For example:
nocase: is the same as no-case:



Search modifiers are applied from right to left (inner to outer).
For example:
case:nocase:ABC is the same as case:ABC



all-strings:

Match all strings in a multi-string value.

For example:
all-strings:author:john;jane

Default: match any string value.



and-filter:

Use in a filter search.
AND this filter when multiple filters are selected.

For example:
and-filter: d:|e:
and-filter: !c:\windows\

Default: OR multiple filters.

See also: or-filter:



and-precedence:

Set AND to have higher precedence than OR.

For example:
::and-precedence: sonic tails | mario luigi

Default: Use Tools -> Options -> Search -> Operator precedence setting.

See also: ::or-precedence:



atof:
to-number:
no-atof:
no-to-number:

Compare a filename or property as a real number.

For example:
atof:album:>1.5

Default: Disabled.



atoi:
no-atoi:

Compare a filename or property as an integer.

For example:
atoi:album:>10

Default: Disabled.



binary:
byte-stream:
no-binary:
no-byte-stream:

Treat the search and file content as a byte stream.

For example:
binary:content:\x00\x00\x01\x10
binary:content:abc123

ASCII text is supported.
Use \x00 - \xff to specify a byte value in hex.

Default: Disabled.



case:
no-case:

Match or ignore case.

For example:
case:WINDOWS

Default: Use the Match Case setting under the Search menu.



diacritics:
no-diacritics:
diac:
no-diac:

Match or ignore accent marks.

For example:
diacritics:"Déjà Vu"

Default: Use the Match Diacritics setting under the Search menu.



dot-all:
no-dot-all:

When enabled, regular expression . will match all characters.
When disabled, regular expression . will match all characters except new lines.

For example:
dotall:regex:content:"line 1.*line 2"
regex:content:"(?s)line 1.*line 2"

Default: Disabled.

See also: regex:



each-line:
no-each-line:

Match each line or match the entire content.
If enabled, searching stops on the first line matched.

For example:
eachline:content:<a b> (find a and b on the same line)
eachline:content:<a b c d|e|f !g !h !i>

Default: Disabled (match the entire content).



end-with:
no-end-with:
$:

Match the end of filenames.

For example:
endwith:hosts

Default: Disabled.



expand:
no-expand:

Evaluate any preprocessor text for each file or folder.
Use \0 - \9 to recall any previous regular expression captures.
use \\ to escape a single literal \
Ensure any preprocessor text is escaped to avoid early expansion.

For example:
regex:comment:(.+) expand:\1 Find files where the comment exists in the filename.

Default: Disabled.



fast-regex:
no-fast-regex:

Enable or disable regex optimization.
Regex optimizations will need to be disabled if you would like to use the regex match 0 property without using a special character in your regex pattern.

For example:
no-fast-regex:regex:abc123 regexmatch0:123

Default: Enabled.



file:
files:
folder:
folders:
files-only:
folders-only:
no-file:
no-files:
no-file-only:
no-files-only:
no-folder:
no-folders:
no-folder-only:
no-folders-only:

Match files or folders only.

For example:
folder:music

Default: Match files and folders.



global:
no-global:

When enabled, find all occurrences of the regular expression.
When disabled, find only the first occurrence.

If no group capture is specified, the entire match is captured.

For example:
global:regex:\d+

Default: Disabled.

See also: regex:



hex:
no-hex:

Convert 2 character hex codes into a single byte and treats the search and file content as a byte stream.

For example:
hex:48656C6C6F

Default: Disabled.



hex-to-number:
no-hex-to-number:

Compare a filename or property in hex as an integer.

For example:
hex-to-number:0x1000..0x2000

Default: Disabled.



highlight:
no-highlight:

Enable or disable highlighting for this term.

Default: Highlight the search term.



no-indexed:
non-indexed:
not-indexed:
from-disk:
indexed:

Search properties and content on disk (not from the index) or search properties from the index.

For example:
notindexed:length:>5m

Default: Search indexed properties only. If the property is not included in the index, search the property from disk.



len:
no-len:

Search for the length of the filename or property in UTF-16 characters.

For example:
len:>20
len:5..10
path:len:>259
len:3

Default: Disabled.



metric:
no-metric:

Use the metric size format.

For example:
metric:size:1kb == size:1000

Default: Use Tools -> Options -> Size Standard setting.



multi-line:
no-multi-line:

When enabled, ^ and $ will match the whole line.
When disabled, ^ and $ will match the entire text.

For example:
multiline:regex:content:"^A line of text$"

Default: Disabled.

See also: regex:



multi-string:
no-multi-string:

When enabled, regex ^ and $ will match a whole item in a semicolon (;) delimited list.
When disabled, regex ^ and $ will match the entire list.

multistring: is automatically used when searching for a property that can have multiple values.

For example:
multistring:regex:content:"^An item in a list$"
multistring:whole:tag:"my tag"
nomultistring:zipfilename:"abc.txt;123.txt"

Default: Disabled.

See also: regex:
See also: all-strings:



no-!:

Disable the not operator (!).

Default: Allow the not operator (!).



no-omit:
no-omit-results:

Globally disable result omissions.

Default: Use the Enable Result Omissions setting under the Index menu.



or-filter:

Use in a filter search.
OR this filter when multiple filters are selected.

For example:
or-filter: ext:mp3;jpg

Default: OR multiple filters.

See also: and-filter:



or-precedence:

Set OR to have higher precedence than AND.

For example:
::or-precedence: sonic tails | mario luigi

Default: Use Tools -> Options -> Search -> Operator precedence setting.

See also: ::and-precedence:



path:
no-path:

Match the full path and name or just the name.

For example:
path:system32 hosts

Default: Use the Match Path setting under the Search menu.

Use the path-part: search function to search the path part only.



pinyin:
no-pinyin:

Match the first pinyin character for each Chinese character.

For example:
pinyin:yq (matches: 一切)

Default: disabled.



prefix:
no-prefix:

Match the start of words.

For example:
prefix:ever

Default: Use the Prefix setting under the Search menu.



punc:
punctuation:
ignore-punctuation:
ignore-punc:
no-punc:
no-punctuation:
no-ignore-punctuation:
no-ignore-punc:

Match or ignore punctuation.

For example: nopunc:spiderman

Default: Use the Ignore Punctuation setting under the Search menu.



regex:
no-regex:
regex*:

Enable or disable regular expressions.

When enabled, the search term parser will eat all | characters.

Use regex*: to treat the remaining search text as literal.

For example:
regex:content:^foo
regex:content:gr(a|e)y
regex*:abc 123 "text in quotes"

Default: Use the Regular Expressions setting under the Search menu.

See also: dotall:
See also: global:
See also: multiline:
See also: ungreedy:



reorder:
no-reorder:

Enable or disable search term reordering.

When enabled, search terms are reordered from fastest to slowest.

For example:
noreorder:content:^foo bar.txt

Default: Enabled.

Everything will automatically disable reordering when:
referencing regmatch0-9.
using the expand: search modifier.
using child: and child-occurrence-count:
using column assignment, for example: col1:=LEN($regmatch1:)
comparing regmatches, for example: regmatch1:==regmatch2:
using regmatch0-9: search function.
using sibling: with $1-9:
using the eval: search function, for example: eval:LEN($regmatch1:)>LEN($regmatch2:)



soundex:
no-soundex:

Match files by SQL soundex.

The prefix is matched.
Combine with whole-words: to match whole words.
Only A-Z, a-z letters are currently supported.

For example:
soundex:david
soundex:artist:michael

Default: disabled.



star-all:
no-star-all:

When enabled, wildcard * will match all characters.
When disabled, wildcard * will match all characters except \ or /

For example:
starall:c:*abc.txt

Default: Disabled.
Default setting can be configured with wildcards_star_all



start-with:
no-start-with:
^:

Match the start of the filename or property.

For example:
startwith:ever

Default: Disabled.



substitute:
no-substitute:

substitute $property: with the value from the specified property canonical name.

For example:
substitute:stem:$extension:

Default: Disabled.



suffix:
no-suffix:

Match the end of words.

For example:
suffix:hosts

Default: Use the Suffix setting under the Search menu.



to-string:
no-to-string:

Compare a filename or property as text.

For example:
tostring:dm:/02/
regex:tostring:dm:^201

Default: Disabled.



ungreedy:
no-ungreedy:

When enabled, regular expression will default to ungreedy.
When disabled, regular expression will default to greedy.

For example:
ungreedy:regex:(.*)
ungreedy:regex:(.*?)

Default: Disabled.

See also: regex:



utf8:
ascii:
no-ascii:

Enable or disable fast ASCII search.
This option no longer offers any performance gain.
When using ascii:, i will not match Turkish I with dot.

Default: Disabled.



wfn:
whole-filename:
exact:
whole:
no-wfn:
no-whole-filename:
no-exact:
no-whole:

Match the whole filename or match anywhere in the filename.

For example:
wfn:hosts

Default: Match anywhere in the filename.



ignore-whitespace:
ignore-ws:
ws:
whitespace:
no-ws:
no-whitespace:
no-ignore-whitespace:
no-ignore-ws:

Ignore or match White-space.

For example:
nows:spiderman

Default: Use the Ignore White Space setting under the Search menu.



whole-word:
whole-words:
ww:
no-whole-word:
no-whole-words:
no-ww:

Match whole words or match anywhere in the filename.

For example:
ww:foo

Default: Use the Match Whole Words setting under the Search menu.



wildcard:
wildcards:
no-wildcard:
no-wildcards:
wildcard*:
wildcards*:

Enable or disable content wildcards.
Enabling overrides filename wildcards. (filename wildcards support only * and ? )

Use wildcards*: to treat the remaining search text as literal.
Use no-wildcards: to find ? and * in filenames.

* = Matches any character zero or more times.
? = Matches any single character (including / or \).
# = Matches any single digit (0-9).
[ ] = Matches any one of the characters specified in the set.
[! ] = Matches any one character that is not specified in the set.
\ = Escape the following character. C escapes supported. (treat the following character as literal)

For example:
wildcards:####*
wildcards:[a-m]*
wildcards*:a b c*
wildcards:*\x0D\x0A

Default: Disable content wildcards and use filename wildcards.
Locked