Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: alternation option end of string



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#}




Messages sorted by: Reverse Date, Date, Thread, Author