Thanks, this makes sense. On Wed, 25 Jan 2023 at 22:05, Bart Schaefer wrote: > On Wed, Jan 25, 2023 at 6:53 AM Sebastian Gniazdowski > wrote: > > > > [[ "zparseopts -F" == (#b)*(zparseopts)*~^*(-F)* ]] > > I'm not 100% sure, but I think the problem here is that the negation > with ^ is processed in a secondary invocation of the pattern matcher > so the $match from parens there is overwritten by the results of the > previous pattern. > > This behaves differently (but perhaps not quite what you're after): > > [[ "zparseopts -F" == (#b)*(zparseopts)(*~^*(-F)*) ]] > -- Best regards, Sebastian Gniazdowski