fair guess, but . isn't special in that context. what i was missing was s*s*g was matching right through syslog.2.g so !(*.*) couldn't eliminate dots it couldn't see. no way to specify shortest match for s*s*g afaik. anyway a better pattern is *(messages|syslog) On 10 May 2014 13:17, Daniel Taylor <random at argle.org> wrote: > (*\.*) > > > On 05/10/2014 08:12 AM, gregrwm wrote: > > ok you bashers, check me on this: > > matches wanted: messages syslog > matches not wanted: anaconda.syslog messages.1 syslog.1 syslog.2.gz > pattern1: !(*.)s*s*g!(*.*) > pattern1 match results: messages syslog syslog.2.gz syslog.3.gz > syslog.4.gz > pattern2: !(*.)s*s*g!(*1|*z) > pattern2 match results: messages syslog > > so pattern2 works. but is that pattern1 result a bug? > > -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://mailman.mn-linux.org/pipermail/tclug-list/attachments/20140510/57c234cc/attachment.html>