From 63fd71f171e9d282985ba24e5f3ee2507bce6f47 Mon Sep 17 00:00:00 2001 From: Peter Stephenson Date: Tue, 27 Oct 2015 10:58:39 +0000 Subject: 36977: note about difficulties of pattern repetitions --- Doc/Zsh/expn.yo | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'Doc') diff --git a/Doc/Zsh/expn.yo b/Doc/Zsh/expn.yo index 5ea8610f2..49a0f0d53 100644 --- a/Doc/Zsh/expn.yo +++ b/Doc/Zsh/expn.yo @@ -2192,6 +2192,16 @@ inclusive. The form tt(LPAR()#c)var(N)tt(RPAR()) requires exactly tt(N) matches; tt(LPAR()#c,)var(M)tt(RPAR()) is equivalent to specifying var(N) as 0; tt(LPAR()#c)var(N)tt(,RPAR()) specifies that there is no maximum limit on the number of matches. + +Note that if the previous group of characters contains wildcards, +results can be unpredictable to the point of being logically incorrect. +It is recommended that the pattern be trimmed to match the minimum +possible. For example, to match a string of the form `tt(1_2_3_)', use +a pattern of the form `tt(LPAR()[[:digit:]]##_+RPAR()LPAR()#c3+RPAR())', not +`tt(LPAR()*_+RPAR()LPAR()#c3+RPAR())'. This arises from the +complicated interaction between attempts to match a number of +repetitions of the whole pattern and attempts to match the wildcard +`tt(*)'. ) vindex(MATCH) vindex(MBEGIN) -- cgit 1.4.1