Search Modifiers

Discussion related to "Everything" 1.5 Alpha.
Post Reply
void
David Carpenter (Developer)
Posts: 9398
Joined: Fri Oct 16, 2009 11:31 pm

Search Modifiers

Post by void » Tue Nov 30, 2021 6:01 am

All search modifiers available in Everything 1.5.

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 by 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)



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



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:
no-binary:

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:

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:



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-files:
no-file-only:
no-files-only:
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 in UTF-16 characters.

For example:
len:>20
len:5..10
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:



no-!:

Disable the not operator (!).

Default: Allow the not operator (!).



path:
no-path:

Match the full path and file name or just the filename.

For example:
path:system32 hosts

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



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:

Enable or disable regular expressions.

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

For example:
regex:content:^foo
regex:content:gr(a|e)y

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 reorder from fastest to slowest.

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

Default: Enabled.



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.



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

Match the start of the filename.

For example:
startwith:ever

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.
If enabled, i will not match Turkish I with dot.

Default: Disabled.



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

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:

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

* = 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. (treat the following character as literal)

Default: Disable content wildcards and use filename wildcards.

Post Reply