From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 22757 invoked by alias); 8 Jun 2018 08:23:31 -0000 Mailing-List: contact zsh-users-help@zsh.org; run by ezmlm Precedence: bulk X-No-Archive: yes List-Id: Zsh Users List List-Post: List-Help: List-Unsubscribe: X-Seq: 23448 Received: (qmail 21331 invoked by uid 1010); 8 Jun 2018 08:23:31 -0000 X-Qmail-Scanner-Diagnostics: from mailout1.w1.samsung.com by f.primenet.com.au (envelope-from , uid 7791) with qmail-scanner-2.11 (clamdscan: 0.99.2/21882. spamassassin: 3.4.1. Clear:RC:0(210.118.77.11):SA:0(-6.9/5.0):. Processed in 3.116683 secs); 08 Jun 2018 08:23:31 -0000 X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on f.primenet.com.au X-Spam-Level: X-Spam-Status: No, score=-6.9 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_HI, SPF_HELO_PASS,SPF_PASS,T_DKIMWL_WL_HIGH,T_DKIM_INVALID autolearn=ham autolearn_force=no version=3.4.1 X-Envelope-From: p.stephenson@samsung.com X-Qmail-Scanner-Mime-Attachments: | X-Qmail-Scanner-Zip-Files: | DKIM-Filter: OpenDKIM Filter v2.11.0 mailout1.w1.samsung.com 20180608081537euoutp01023208b452e5544580f07e8a749860de~2IUzsGN9z1741217412euoutp01U DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1528445737; bh=fpAnikc1R49qoS16gPr2+tipiTwgfU03Lq2YxHFnHhI=; h=Date:From:To:Subject:In-Reply-To:References:From; b=C3/u051KsAuwyCFdN2gdVetDqw9Ngsx2sijTrisdRHKy2dz4nc8eiTL8AWfRLZGwO TPk0QjvTmSMtsD6GU/20RfBBXnY2VzwXXoOH+9Lc6pqo0ZGxIVpKeNaxHzkfDvznJZ qBI9b0+6JYF+id2uDtmfJwe7Zqb1QGbPcp7s6nU8= X-AuditID: cbfec7f5-b5fff700000028a9-d0-5b1a3b281793 Date: Fri, 8 Jun 2018 09:15:34 +0100 From: Peter Stephenson To: Zsh Users Subject: Re: Non-greedy matching (S-flag) behaving weird In-Reply-To: Organization: SCSC X-Mailer: Claws Mail 3.13.2 (GTK+ 2.24.30; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrLIsWRmVeSWpSXmKPExsWy7djPc7oa1lLRBquahS12nFzJ6MDoserg B6YAxigum5TUnMyy1CJ9uwSujDX73ApaOCs+nW1ga2Bcwd7FyMkhIWAicXXyL6YuRi4OIYEV jBL3Dt9mg3B6mCR2XuhigXC6mSSmXpnCCtfyfxI7RGI5o8TJ9+eZ4KrOzNoE1X+aUeLZ3u+s EM55oLJzbYwg/SwCKhJzf55hBrHZBAwlpm6aDRYXEVCUOPPrGxOILSxgIdH5awuYzSkQKPFh bQPQIA4OfgEhiQvNthBn2Esc3XMSrIRXQFDi5MwnLCA2s4C8xPa3c5hByiUE3rNJrHSDKCmT aNx6G+ppF4nvn55C2cISr45vgbJlJP7vnA/2jIRAO6PEmkmv2SGcHkaJTUfvMEJUWUv03b7I CLKAWUBTYv0ufYiwo8TL8x2MEHv5JG68FYQ4h09i0rbpUOfwSnS0CUFUq0nsaNrKOIFReRaS B2YheWAWwvwFjMyrGMVTS4tz01OLjfNSy/WKE3OLS/PS9ZLzczcxAhPB6X/Hv+5g3Pcn6RCj AAejEg9vgpVktBBrYllxZe4hRgkOZiUR3lwxqWgh3pTEyqrUovz4otKc1OJDjNIcLErivHEa dVFCAumJJanZqakFqUUwWSYOTqkGRlGVmtadTC+vTfxhXsh05NTJib7Xs00f+33TX3Z9z6un PoLXDTaVL2w1Csnanjnpw8G/dXnWttU2KTPaxZaeWfqD66tWQuDe5fInjPjCohavT/TzlUzY r6/7kfVi6nSjiIm7LKN/G741v3XuWJ1YIUNe02z7e0laAkdWT1ovdPRq+7YsZ8m3ikosxRmJ hlrMRcWJAEO8Yc8AAwAA X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFuplkeLIzCtJLcpLzFFi42I5/e/4PV11a6log5NXWCx2nFzJ6MDoserg B6YAxig9m6L80pJUhYz84hJbpWhDCyM9Q0sLPSMTSz1DY/NYKyNTJX07m5TUnMyy1CJ9uwS9 jDX73ApaOCs+nW1ga2Bcwd7FyMkhIWAicfX/JCCbi0NIYCmjxMI5J1ghEjISn658hCoSlvhz rYsNoqiTSWLb8VfMEM5pRokZN3YyQjjnGSUOXTzPCNLCIqAiMffnGWYQm03AUGLqptlgcREB RYkzv74xgdjCAhYSnb+2gNm8As4Sxx5PBqvhFAiU+LC2gRVi6BJGia6uL0BFHBz8AkISF5pt IU6ylzi65yRUr6DEyZlPWEBsZgEdiROrjjFD2PIS29/OYZ7AKDwLSdksJGWzkJQtYGRexSiS Wlqcm55bbKRXnJhbXJqXrpecn7uJERgV24793LKDsetd8CFGAQ5GJR7eBCvJaCHWxLLiytxD jBIczEoivM+UpKKFeFMSK6tSi/Lji0pzUosPMZoCA2Mis5Rocj4wYvNK4g1NDc0tLA3Njc2N zSyUxHnPG1RGCQmkJ5akZqemFqQWwfQxcXBKNTCekPt05WdWzLeXqjUVfpXyso+Y9vBsV8/v /XzxY9765C/nX5wV0Ewy+vXgh9C8V+Wrfm1/GxxkM+3HL3+jqTlXQrdEHorvzAnb5sVV938q 6xWVvGJun6RKYVWm/wZrzute+Pj185RFAguiJk8qE6wT0Kg5utslc7JQ5tM9xcbxD7Uli4Nt v65SYinOSDTUYi4qTgQAvLPReKACAAA= Message-Id: <20180608081535eucas1p1cf8eab9e4500aaf73521e32a19df0bf5~2IUxfX6MX1459414594eucas1p15@eucas1p1.samsung.com> X-CMS-MailID: 20180608081535eucas1p1cf8eab9e4500aaf73521e32a19df0bf5 X-Msg-Generator: CA Content-Type: text/plain; charset="utf-8" X-RootMTR: 20180608064952epcas4p4e8890504ddaf097f8d0df1cb1e89d619 X-EPHeader: CA CMS-TYPE: 201P X-CMS-RootMailID: 20180608064952epcas4p4e8890504ddaf097f8d0df1cb1e89d619 References: On Fri, 8 Jun 2018 08:48:05 +0200 Sebastian Gniazdowski wrote: > below subsitution is a really easy one. First parenthesis: anything > preceding, second parenthesis: print|END|BEGIN, third parenthesis: > anything that follows print|END etc. > > ~ __wrd2="echo abc | awk '{ print \$1 } END { print 'Finished' }'" > > ~ > __wrd2="${(S)__wrd2/(#b)(#s)(*)(BEGIN|END|print)(*)(#e)/${match[3]}}"; > > ~ echo "__wrd2: $__wrd2, match[1]: ${match[1]}, match[2]: ${match[2]}, > match[3]: ${match[3]}"; echo $? > > __wrd2: 'Finished' }', match[1]: echo abc | awk '{ print $1 } END { , > match[2]: print, match[3]: 'Finished' }' > > As it can be seen, match[1] obtains almost whole string. The matching > is ungreedy, why `print' isn't matched? Why matching continues to last > keyword, "END", skipping "print" You've got a "*" at the beginning and the end They're both doing matching --- they're is no single "matching" to which a rule applies , there are just separate patterns all attempting to match. You're going to have to work out some way of forcing one of them to match more than the other. pws