
On Windows extensions are special, and it seems the unrar code treats it as sort-of-not-really part of the filename-a plain, final trailing * will match one, but a * in the middle will not.

Why didn't he? Probably because its not available on Windows, where AFAIK rar originates.

Why? Well, after a few minutes of looking through unrar's source (take a look at match.cpp if you want to try!), I can comfortably say "because Alexander Roshal really, really, reallly should have used glob(3) instead". That goes down a slightly different code path, at least in 5.2.7, and it works in 5.2.7. I'd suggest trying unrar x file\*.rar, note the dot before rar. It doesn't work in 5.2.7 (newer version) either.
