Re: alternation option end of string
Eric Cook <[email protected]> Fri, 1 May 2026 20:44:35 -0400
| Newsgroups | gmane.comp.shells.zsh.user |
|---|---|
| Message-ID | <[email protected]> |
On 5/1/26 8:36 PM, Ray Andrews wrote:
>
>
> On 2026-05-01 16:56, Ray Andrews wrote:
>>
>>
>> On 2026-05-01 15:39, Mark J. Reed wrote:
>>> $
>>>
>>> e.g. 'a(b|$)' will match an a that is either followed by a b or at the end of the strings
>>>
>>>
> I must be doing something wrong:
>
> % string='cats'
>
> % out="${(M)string##cat(s|$)}"; echo $out
> cats
>
> % string='cat'
>
> % out=${(M)string##cat(s|$)}; echo $out
>
> [nothing]
>
>
>
So, bart guessed correct, you are using pattern matching.
string=cats; print -- ${(M)string##cat(s|)}
tho, in this particular case, you could just do: ${(M)string##cats#}