Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
Re: (r) flag on scalar
On Sun, 8 Mar 2015 19:56:42 -0700
Bart Schaefer <schaefer@xxxxxxxxxxxxxxxx> wrote:
> The only thing not quite intuitive about this is that a wildcard (either
> * or with extendedglob ?# ) at the end of the ending patterrn is not
> considered part of the match for (r) but is part of the match for (R).
> PWS's latest doc tweak still doesn't explicitly describe that.
diff --git a/Doc/Zsh/params.yo b/Doc/Zsh/params.yo
index 7b127bc..1b175b2 100644
--- a/Doc/Zsh/params.yo
+++ b/Doc/Zsh/params.yo
@@ -197,7 +197,17 @@ example(string="abcdefghijklm"
print ${string[+LPAR()r+RPAR()d?,+LPAR()r+RPAR()h?]})
prints `tt(defghi)'. This is an obvious generalisation of the
-rule for single-character matches.
+rule for single-character matches. For a single subscript,
+only a single character is referenced (not the range of chracters
+covered by the match).
+
+Note that in substring operations the second subscript is handled
+differently by the tt(r) and tt(R) subscript flags: the former takes the
+shortest match as the length and the latter the longest match. Hence
+in the former case a tt(*) at the end is redundant while in
+the latter case it matches the whole remainder of the string. This
+does not affect the result of the single subscript case as here the
+length of the match is irrelevant.
subsect(Array Element Assignment)
Messages sorted by:
Reverse Date,
Date,
Thread,
Author