On Friday, 19 September 2014, Han Pingtian > wrote: > Hello, > > I just notice that negative pattern like this doesn't work: > > localhost% setopt extendedglob > localhost% print /usr/**/bin/zsh > /usr/bin/zsh /usr/local/bin/zsh > localhost% print /usr/^local/bin/zsh > zsh: no matches found: /usr/^local/bin/zsh > localhost% ls /usr//bin/zsh > /usr//bin/zsh > localhost% > > I think if "^local" can match with empty string, then this should work. > But looks like it doesn't. Please excuse formatting, I'm writing this on my phone at a bus stop, or at least trying. (I'm now half way to Truro and on the third browser...) Negative patterns are confusing, I've discovered over the years. The way to think of them is "match anything but..." In other words, first match something, and only then decide what to exclude. In this case, the initial "match anything" matches files in the directory you've reached. Obviously there is no empty file. So the overall match fails at that point. Phew... time to hit send... pws