PS. (#b) is missing in the pattern, correct code is: [[ "zparseopts -F" == (#b)*(zparseopts)*~^*(-F)* ]] printf →%s\\n $? "$match[@]" output is the same. On Wed, 25 Jan 2023 at 14:50, Sebastian Gniazdowski wrote: > Hi, > I'm matching a pattern: > [[ "zparseopts -F" == *(zparseopts)*~^*(-F)* ]] > printf →%s\\n $? "$match[@]" > > with output: > →0 > →zparseopts > → > > I would want \3 to contain -F… because, I would once want to use (-F|) > there, and be able to test if the option is given… Is it possible? > > ~^ is a double negation that makes the pattern work like "if-contains > zparseopts AND -F" > > > -- > Best regards, > Sebastian Gniazdowski > > -- Best regards, Sebastian Gniazdowski