From cd0e208963bdf9ee2fec30e83bdc8f6bc77a7b8d Mon Sep 17 00:00:00 2001 From: Jeremy Evans Date: Wed, 28 Aug 2019 11:40:56 -0700 Subject: Document {n}? regexp pattern is optional and not non-greedy [ci skip] While not consistent with {n,}?, {,m}?, and {n,m}?, it is arguably more useful, as otherwise the ? would have no effect. Fixes [Bug #15583] --- doc/regexp.rdoc | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'doc/regexp.rdoc') diff --git a/doc/regexp.rdoc b/doc/regexp.rdoc index 40c73952d6..20e8e3634a 100644 --- a/doc/regexp.rdoc +++ b/doc/regexp.rdoc @@ -189,8 +189,11 @@ At least one uppercase character ('H'), at least one lowercase character Repetition is greedy by default: as many occurrences as possible are matched while still allowing the overall match to succeed. By contrast, lazy matching makes the minimal amount of matches -necessary for overall success. A greedy metacharacter can be made lazy by -following it with ?. +necessary for overall success. Most greedy metacharacters can be made lazy +by following them with ?. For the {n} pattern, because +it specifies an exact number of characters to match and not a variable +number of characters, the ? metacharacter instead makes the +repeated pattern optional. Both patterns below match the string. The first uses a greedy quantifier so '.+' matches ''; the second uses a lazy quantifier so '.+?' matches -- cgit v1.2.3