Following is a list of modifiers available as of zsh-3.1.5.
NOTE:
Modifiers marked with < H > work only with history
expansion.
Modifiers marked with < FP > work only with filename
and parameter expansion.
h
r
e
t
p < H >
q < H >
x < H >
q, but break into words at each blank
l
u
f < FP >
F:expr: < FP >
expr
evaluates to n. Any character can be used instead of
the `:', if any of `(', `[', or `{' is used as the
opening delimiter the second one has to be ')', `]', or
`}' respectively.
w < FP >
W:sep: < FP >
sep. Any character can be
used instead of the `:'; opening parentheses are handled
specially, see above.
s/l/r[/]
r for l as described below.
Unless preceded immediately by a g, with no colon
between, the
substitution is done only for the first string that matches
l. For arrays and filename expansion, this applies to
each word of the expanded text.
&
s substitution. Like
s,
may be
preceded immediately by a g. In variable expansion the
& must appear inside braces, and in filename expansion
it must be quoted with a backslash.
The s/l/r/ substitution works as follows.
r, is
replaced by the text from the left-hand-side l.
l uses the previous string either from the
previous l or from the contextual scan string
s from `!?s'.
r
?' in a context scan can similarly be
omitted.
l and r
is maintained across all forms of expansion.