Zsh-Regex schlägt fehl, Fehler oder Benutzerfehler?

Zsh-Regex schlägt fehl, Fehler oder Benutzerfehler?

Dieser reguläre Ausdruck funktioniert (entfernt -search)

[~%]for i  in foo*-search-aae-status ; do echo $i(:s/-search//) ; done
foo1-aae-status
foo2-aae-status
foo3-aae-status
foo4-aae-status
foo5-aae-status

Aber dieser reguläre Ausdruck (der versucht, alles danach zu entfernen -) funktioniert nicht.

[~%]for i  in foo*-search-aae-status ; do echo $i(:s/-*//) ; done
foo1-search-aae-status
foo2-search-aae-status
foo3-search-aae-status
foo4-search-aae-status
foo5-search-aae-status

Übersehe ich etwas? Ich habe es versucht .*, aber es wird einfach ignoriert.

Antwort1

Danke an llua vom Freenode IRC.

Sie könnten hist_subst_pattern aktivieren, um das zu tun, was Sie meiner Meinung nach versuchen

[%]setopt hist_subst_pattern
[%]print $TXT:s/-*//
foo1

verwandte Informationen