From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 1900 invoked by alias); 8 Jun 2018 06:48:30 -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: 23447 Received: (qmail 2414 invoked by uid 1010); 8 Jun 2018 06:48:30 -0000 X-Qmail-Scanner-Diagnostics: from mail-oi0-f51.google.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(209.85.218.51):SA:0(-1.9/5.0):. Processed in 1.27258 secs); 08 Jun 2018 06:48:30 -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=-1.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM, RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_PASS, T_DKIM_INVALID autolearn=ham autolearn_force=no version=3.4.1 X-Envelope-From: sgniazdowski@gmail.com X-Qmail-Scanner-Mime-Attachments: | X-Qmail-Scanner-Zip-Files: | DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=qrffAl/Mg5mMuOuErLFj23+nRC+59j6C9EPKr5wjlQA=; b=SqjeVNGweZU//IuCWuxcCHQIYqFA/2DtAyXj62XLAN1pFLSiFileLeypsDg59JPDrJ seDNpRb9TSB9GF/eDlwesXIFBpS1HQCZ/QHMWY1C7BmnxdkyPslcVMwaJmVUYhW/BXxM is45Ae7ybNdXO58m/cal1DiwBFE8meNnGZYb3KFAG9rytDtPVZee5y5BJyhYj3EbHc1B VV2IUmMxsc5KevIp41MsH3E3N8L+1DAyfiX9/dXrOfFQFdPxEjbbgOtRguBF++69QHGl VKYhD31AVRxRTKV1K+9yVgYmDqlI4I6x5hrxmegQgM0RqPb6DrTGFYgvluL/xvWMe/CV Y0xg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=qrffAl/Mg5mMuOuErLFj23+nRC+59j6C9EPKr5wjlQA=; b=LAL6n7VEne9jJQ9DfpmTlC1lBg3DrX2j/nzWKTo4C+Xl0uq+28jDeZbeJF2MSJfshQ bVGbsc3o8U4R5mh/uY1dmIXsqjgRKPp6m3gFmlYur38/w2wMVZG00dmJRVqcnZkEsDxS ZCePkV6Cp7bChr/w7j3D+r0VGA2pwhYldZEyyZQukXzytjDUSH8PbrFa+SV4SZtMW9Zv T/fPsqJnr6z3KfKaA0p0lIvW8jgGAC3XcVU4y2j4n/pfQaYkO2vyE0nRJtJ0a13yhOI7 +AMPFgc61RzM2q4mVXplFa9OSIC8f8nn1+hjRGSrO7lZiS0FUKd8kvePi8tLG8C9FKLl oxCg== X-Gm-Message-State: APt69E3NvkoZyoMxGE7JzLjK5qoHbfwlqmm6nsvS6uISRbXzGa79U25D 7LXaPAUTWcb1gtT2DKEG3rNeW45Ltl/rLyyPl7KRHg== X-Google-Smtp-Source: ADUXVKLXzTDDd7MNjL9XdSlBIhxQSyQagGC0F08xYW0iohNIiGQPf3F3EN9SdWY9/ySKvZIQLOCDa6gtTJda9KMP3lI= X-Received: by 2002:aca:3e84:: with SMTP id l126-v6mr2613319oia.231.1528440506285; Thu, 07 Jun 2018 23:48:26 -0700 (PDT) MIME-Version: 1.0 From: Sebastian Gniazdowski Date: Fri, 8 Jun 2018 08:48:05 +0200 Message-ID: Subject: Non-greedy matching (S-flag) behaving weird To: Zsh Users Content-Type: text/plain; charset="UTF-8" Hello, 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" -- Best regards, Sebastian Gniazdowski