From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 1753 invoked by alias); 8 Jun 2018 13:39:36 -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: 23451 Received: (qmail 18924 invoked by uid 1010); 8 Jun 2018 13:39:36 -0000 X-Qmail-Scanner-Diagnostics: from mailout2.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.12):SA:0(-6.9/5.0):. Processed in 1.925503 secs); 08 Jun 2018 13:39:36 -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 mailout2.w1.samsung.com 20180608133017euoutp026b137c3b71d620411199a1407f4e4112~2MnjAIO1r1831318313euoutp02w DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1528464617; bh=CMURFtbPeGYBcZvzi1v1yJY2GbRAxuoxPjHzYXCDcWQ=; h=Date:From:To:Subject:In-Reply-To:References:From; b=jSZqJD+FbgGlze56tSU2IeiQdbRKVM21XJnzAdTncOnGl1r/j5IHa3IzVm2XSuMPJ TI+dMP8uZsUvLXXrgjDOFIqmk3RmkqhQIdHK+a0NV5SISW7R6Dcstev0Jj5vKbfKgX 5GVCZOD+wqmK3JpgBowRia1y9ICAGdnlEs2QrXQ8= X-AuditID: cbfec7f5-b5fff700000028a9-ce-5b1a84e7f058 Date: Fri, 8 Jun 2018 14:30:12 +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+NgFnrHIsWRmVeSWpSXmKPExsWy7djP87rPW6SiDbYdkbfYcXIlowOjx6qD H5gCGKO4bFJSczLLUov07RK4MnY8W8ZWcIKjYunOK+wNjL/Zuhg5OSQETCQWzW9l6WLk4hAS WMEo0dnzkxnC6WGSeHTkOpTTzSTx/vgtVpiWxTsnMEIkljNKnL5xhgWu6tOVRVAtpxklzpz8 xgTSIiRwnlHi1xsrEJtFQEVix8dvjCA2m4ChxNRNs8FsEQFFiTO/IOqFBSwkOn9tAbM5BQIl PqxtAFrNwcEvICRxodkW4gp7iaN7ToKV8AoISpyc+YQFxGYWkJfY/nYO2A0SAu/ZJL4/OcYM 0ssrUCZxdYMMRK+LxJdVK9ghbGGJV8e3QNkyEqcn97BA9LYzSqyZ9JodwulhlNh09A4jRJW1 RN/ti4wgQ5kFNCXW79KHCDtKvDzfARaWEOCTuPFWEOIePolJ26YzQ4R5JTrahCCq1SR2NG1l nMCoPAvJB7OQfDALYf4CRuZVjOKppcW56anFxnmp5XrFibnFpXnpesn5uZsYgang9L/jX3cw 7vuTdIhRgINRiYe3oUkqWog1say4MvcQowQHs5II7zMloBBvSmJlVWpRfnxRaU5q8SFGaQ4W JXHeOI26KCGB9MSS1OzU1ILUIpgsEwenVAOj95zaP04Cq+72ligWPZ0h0GKRs2hqbMVn0Q+X dcIZl2/YMWGC5vSMTe76XablPMqbnz4MeH9J1Phk4+z2smknHxrEh36uszCRto7xYtM4d3Py mtfygRxRla6b8+65Oal8mjG7ctnWeKcLWjqhkvohr2fNjbS7axAWy/fKt3r3hum5nYsXvu9X YinOSDTUYi4qTgQARfw40QEDAAA= X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFupjkeLIzCtJLcpLzFFi42I5/e/4Pd1nLVLRBh9fcVvsOLmS0YHRY9XB D0wBjFF6NkX5pSWpChn5xSW2StGGFkZ6hpYWekYmlnqGxuaxVkamSvp2NimpOZllqUX6dgl6 GTueLWMrOMFRsXTnFfYGxt9sXYycHBICJhKLd05g7GLk4hASWMoo8WT5ThaIhIzEpysf2SFs YYk/17rYIIo6mSR+bN3GDuGcZpR4/+cYK4RznlHi7qE+JpAWFgEViR0fvzGC2GwChhJTN80G s0UEFCXO/PoGViMsYCHR+WsLmM0r4CzRtHIb2DpOgUCJD2sboIYuYZTo6voCVMTBwS8gJHGh 2RbiJHuJo3tOQvUKSpyc+QTsbGYBHYkTq44xQ9jyEtvfzmGewCg8C0nZLCRls5CULWBkXsUo klpanJueW2ykV5yYW1yal66XnJ+7iREYF9uO/dyyg7HrXfAhRgEORiUe3oYmqWgh1sSy4src Q4wSHMxKIrzPlIBCvCmJlVWpRfnxRaU5qcWHGE2BgTGRWUo0OR8Ys3kl8YamhuYWlobmxubG ZhZK4rznDSqjhATSE0tSs1NTC1KLYPqYODilGhgZTzBNd1Zjl1t51DVoh0fExVA512eVhbIM Bg/C+O9vDfjCN1+x09z7JoOlzuNbe/aYvjfL05z37vwFhoa+/oaZylZuoZPVe/sl/r0856Fx 8+wp+1qzm+1/uWapXMyo0Eh78Hez8sF1V0LXCvOecRBOFdkj8eDynMb/nWJ/mNR3+K2WXRwc M0mJpTgj0VCLuag4EQAWAN/ToQIAAA== Message-Id: <20180608133014eucas1p1e9e52b0b4584862e5abeff6f51fab5d4~2MngR8fDf0722407224eucas1p1U@eucas1p1.samsung.com> X-CMS-MailID: 20180608133014eucas1p1e9e52b0b4584862e5abeff6f51fab5d4 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]}}"; I think what you're trying to do is: print ${__wrd2#*(BEGIN|END|print)} (or some variation thereon). This is now well defined --- there's only one expression matching an arbitrary number of parameters, and you've explicitly told it to shorten from the end of the string to resolve multiple matches. You are onto a loser with multiple *'s with the greedy match rule relaxed; it's poorly defined. so the fact it's not doing what you expect isn't saying anything. (That's why the greedy match rule is there in the first place.) But you'll be better off consulting a more authoritative source than me if you want more, so I'll sign off now. pws