Page 1 of 1

Parentheses for grouping don't work in 1.4.1.867b (x64)

Posted: Sat Apr 15, 2017 3:03 pm
by franl
I'm using Everything 1.4.1.867b (x64). I checked the checkbox General > Search > Allow round bracket grouping, but if I search for ".(txt|jpg)" (without the quotes, of course), it finds nothing. But if I use angle brackets instead of parentheses, it finds all files with ".txt" or ".jpg" in their name: ".<txt|jpg>".

Am I misunderstanding the meaning of that options checkbox?

Sorry if this is a known issue, but I did not see it in the 1.4 known issues announcement post.
--
franl

Re: Parentheses for grouping don't work in 1.4.1.867b (x64)

Posted: Sat Apr 15, 2017 5:07 pm
by therube
Appears that ".(" is causing everything up to the | to be ignored, & further the search term ends up being everything after "|", literally, so, "jpg)".

No idea why that is happening?


Anyhow, I believe the ext: function is more efficient, so, ext:txt;jpg

Re: Parentheses for grouping don't work in 1.4.1.867b (x64)

Posted: Sat Apr 15, 2017 10:26 pm
by void
Currently "(" must appear after a space or operator to start a group.
Otherwise, when "(" is included immediately after text, it is treated as a literal "("

Also note in .<txt|jpg> the "<" is a term terminator (the single . is treated as a term), so this would search for:
. AND <txt|jpg>

"(" is not considered a term terminator so you can search for a literal "(" when included with text, eg: abc(123)foo would search for this entire string and does not split it up into 3 groups as < and > would.

The same applies to literal operators "OR", "AND" and "NOT", these do not break the current term, eg: bORderlands does not search for b OR derlands. Whereas b|derlands would.

A ")" is treated as a literal ")" if a group has not been started with "<" or "(".