From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=FREEMAIL_FROM, MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 15209 invoked from network); 20 May 2020 19:52:22 -0000 Received: from ns1.primenet.com.au (HELO primenet.com.au) (203.24.36.2) by inbox.vuxu.org with ESMTPUTF8; 20 May 2020 19:52:22 -0000 Received: (qmail 23394 invoked by alias); 20 May 2020 19:52:14 -0000 Mailing-List: contact zsh-workers-help@zsh.org; run by ezmlm Precedence: bulk X-No-Archive: yes List-Id: Zsh Workers List List-Post: List-Help: List-Unsubscribe: X-Seq: 45866 Received: (qmail 4267 invoked by uid 1010); 20 May 2020 19:52:14 -0000 X-Qmail-Scanner-Diagnostics: from mout.gmx.net by f.primenet.com.au (envelope-from , uid 7791) with qmail-scanner-2.11 (clamdscan: 0.102.3/25814. spamassassin: 3.4.4. Clear:RC:0(212.227.15.15):SA:0(-2.6/5.0):. Processed in 3.271901 secs); 20 May 2020 19:52:14 -0000 X-Envelope-From: llua@gmx.com X-Qmail-Scanner-Mime-Attachments: | X-Qmail-Scanner-Zip-Files: | Received-SPF: pass (ns1.primenet.com.au: SPF record at gmx.com designates 212.227.15.15 as permitted sender) X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Subject: Re: Handling of escaped plus sign ("+") in regular expressions To: zsh-workers@zsh.org References: From: Eric Cook Message-ID: Date: Wed, 20 May 2020 15:51:30 -0400 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.7.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K1:u4G8iySepMO7MoXhAtyY6JKXxLVduBy4ABB32fm2RjjchMvrfTl 404kP3aArU6Enb5dmmCgC9cEZO7lLhXc2oQdaUigseENqzubQn9iXQ5/ZRpx+PYfA8zJAJi onWVimaL+q7ZEeh89HB+k1lqFxcLzKVbOVMW6GhZEK8TO0y0sYcJDd6P4SjDs3jYNjewcfY 3fS/IoOMRGPuFqYvJO7sQ== X-UI-Out-Filterresults: notjunk:1;V03:K0:5SiLxyGjkR0=:0HVw2kIPoBurXahtgnk3ig udciNUPH6eBmcpewqKONXTWUkS24Uy1CxB457jeyw5E7ZBkyRhtFkMFgdKujUEYce+PEmCL3a J5qXhHKzfqW6GmGKZy3x4G6V4GeUDR5Ei1AHPyyDNbRjh5VeF2pAcRpQgLOWVdVWuGhDnyAWq HHHmd37/miTndW7ghWlBrlDV2i3Ef+5i7HBbWMWa8GgIQ4wvu9woXT0olu9ZjPRmoNpF7jSiT 7K4vDdGdtrTrhpojfzhVDIazUyz/Sm6HFOmXd1VUCFKnV/affU/QAjZOuscvFLnB1VU9F1MNC k5GoHPNvd4Q8Hfptye7tiCea5MGjNa4x/KQIIE+WFpVTLcVPfjG7l0mKd3kKrzDAK/ZvkRouU 3HPaqI7CCtSNwFZFyeIl/0qzhsRljO9wUQAvSTgzNqX+14nZQmqOuX4XV1WjfN4ZvdwkVgOE1 nClWx7kgDkahYEMfYc8Apall0zaCOYo971tuqSsDw5Wu6bo+4urat+Mx3MGbwHQPa8+pFEl6Q C5J0Ol/44ppp9LwH0bqHa/GbSWbbM0VKr9G8GwZx1D4oP6/8/Ak+6pnybTOpfgfdlfxKNrQoO pAavBsUGpEaLQG+Xi61iFT+Ip/SElnUgOMFnL7xvjvFc3bYn5mtYio1i/kZSwvUx2YT/MJEAs AU7EJEV71eIFsoeqZ8xmld5BgF2YYxEM69Y3X6gpWn59dQsQVB7Z92qnUYZxC0Df3y+e5mhnH 9QF9UROfFmmVX/jtfgSD0r6+yCQ/e20znUVAjZ7XvxftD07YSuHPDH3gZU/PywyTcIkX2eRUU zdrRIcIk/onReCl14r3f3OpADY/zkFQApDUYUX3rgdmcksHS7X0nU1Oxktjum+pSurZFquby3 thfUMxCA9d6yZfdvatEciUISE5k9m7KREwBXgO0F8LPXv/YiZSJhMmu0gBWqAriqAfhRQQT4H VXSZzVeg2gsrGryOkgIuFDZtZ7/Mkbj1C0wS0GbU5Wu5Va+04tnkjklBGe20H9a5o//OtGm+N ++YafrfifQwA0ETeQuAjkZxIEOoGU61Ko9ViZG93D2G6nL6ncF6DLUJSLgZErz8lqpabjpzFm 7+2IpPG2jrCyjgctVvUrfMgKB2IJqnCF9yk6UvGxucvVdhfaVW6tRBGqNOZ/p+rE7J0Qp3763 r2+CGcB0i31Dzv1+n2olbkeIAxpsVw4RPTiTt3jIN0xbbCVK6coQbY/peYS+nJlIRUactSJLr c7mehoZiBPFohk7xT On 5/20/20 3:18 PM, Marco Trevisan wrote: > Hi, > > I've been using zsh to run some local scripts I was normally running wit= h > bash and while most of them work as expected, there's a case that weirdl= y > failed to me (using zsh 5.8): > > [[ +123 =3D~ ^+[0-9]+$ ]] > zsh: failed to compile regex: Invalid preceding regular expression > > [[ +123 =3D~ ^\+[0-9]+$ ]] > zsh: failed to compile regex: Invalid preceding regular expression > > The same behavior seems to apply both using RE_MATCH_PCRE and not. > As said, both matches correctly using bash. > > Using something like > > [[ +123 =3D~ ^[+][0-9]+$ ]] > > Works as expected instead. > bash's [[ =3D~ uses regex from the libc it was compiled against last time = i checked. and with libc's for the systems i have available, that won't work. it does= n't spit out an error message like zsh does, but it correctly does not match the in= valid regex.