Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
Re: alternation option end of string
- X-seq: zsh-users 30618
- From: Bart Schaefer <schaefer@xxxxxxxxxxxxxxxx>
- To: zsh-users@xxxxxxx
- Subject: Re: alternation option end of string
- Date: Sat, 2 May 2026 09:26:59 -0700
- Arc-authentication-results: i=1; mx.google.com; arc=none
- Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=content-transfer-encoding:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=CsrMGLr1/SXno3IVvXQUZa7ni9GVnoN/M90gBIZNDY4=; fh=yk3c4scJWo86Za4IR1HBNZw2a+GkUkfVQ7Fs3jnanfg=; b=Dq10LQgYbq2OwViyyU3sdTvnyj+gSH8duB9xM8LmiUnc5WdtAWvMKsgRAlofyo7N6C NcwQZVgLKrByQ+cUXYQDrI4YNfiOqI2TU5w1lsSn/WHE0wk7cdf0r3SPAy/Vr0Oxsv97 zd7eArVAzBw6B7NqC1SuEtOXS5wqIpNH+EIrwgMn0QrHGmdRn2g6t3V1SJl/P0C/1Gsj dl4H3NmDsq5yUe1L2TGxBF1UGj13ASFNuSCV+KsFCfBTpOvbwrW0GrUggSMNFVTW/LNv q/hjN9mEHNrnZWYvv4gXh3w6s1NynP4mLS3GQXPk27/klbQGMuBCcjNBsdl5vlI7FhD7 6AxA==; darn=zsh.org
- Arc-seal: i=1; a=rsa-sha256; t=1777739232; cv=none; d=google.com; s=arc-20240605; b=TbdfuY+w7Gl8yJsEUSsg/f3tjfKoFHF7lU9DzV2Y2CiPzD8CQuJ4PASc0gyyZ65PeS 2ChTiQ7JramEBsVCU1lOtBIg10iyTNj2cOH/QRoixO7lF5nBVVamFgkiASSZk4Mit9t9 ogCB0DAFOaLPCjuHTZXAs26dCVXv0og1Pu6/JVtsao2EL3F1ZySJ+wKCPBKWKPQiuwb7 nSxKX5gUNBLnAmbdqlF6lm5ldsDNyhdduPN8QwnwtPGBd0O/FloG3Fx1hIVdRHen3PHV lqjCGQRvzusd+0M9oknmqC9KaLbc3WvzLhb8BYGwziU5A3vmjVtEPzI/nCeoCs4rabrB vwmg==
- Archived-at: <https://zsh.org/users/30618>
- In-reply-to: <CAN=4vMpz9buom+J_qcyv61X8BVV5CYZvb2qQuhyu6QNdg=VYnw@mail.gmail.com>
- List-id: <zsh-users.zsh.org>
- References: <b145bb3c-51ee-4088-8b6b-12c6b440d9e6@eastlink.ca> <CAA=-s3wEGdY1Ts1bO+vH-Z8C7RH8d2CWXERF+SxAtXFpGoxgNA@mail.gmail.com> <89738d31-840a-4bb5-ab7e-55d60f9ab52c@eastlink.ca> <61062ae9-d338-4036-8a4d-5c35c8c84b6d@eastlink.ca> <0357522b-3917-4be2-b969-2b1a7481115c@gmx.com> <e18cfb47-8ca6-4e13-b6e1-e333f7547b59@eastlink.ca> <CAN=4vMpz9buom+J_qcyv61X8BVV5CYZvb2qQuhyu6QNdg=VYnw@mail.gmail.com>
On Sat, May 2, 2026 at 2:48 AM Roman Perepelitsa
<roman.perepelitsa@xxxxxxxxx> wrote:
>
> On Sat, May 2, 2026 at 6:45 AM Ray Andrews <rayandrews@xxxxxxxxxxx> wrote:
>>
>> I want 'cat' to print but only if it has nothing following it except 's'
>> in which case 'cats' will print irrespective of following characters.
>
> This should do it, if I understood your requirements correctly:
>
> ${${(M)string:#cat(|s*)}[1,4]}
Somewhat more general (doesn't need to know how many characters are in "cats"):
${${(M)string:#cats}:-${(M)string:#cat}}
The first expansion returns "cats" only if that is a prefix, otherwise
the second expansion returns "cat" or nothing.
Messages sorted by:
Reverse Date,
Date,
Thread,
Author