Tcl Source Code

View Ticket
Login
Ticket UUID: 219358
Title: More info on the greedy/non-greedy problem (ticket 2866)
Type: Bug Version: obsolete: 8.3.2
Submitter: nobody Created on: 2000-10-26 05:11:24
Subsystem: 43. Regexp Assigned To: aku
Priority: 5 Medium Severity: Minor
Status: Open Last Modified: 2017-10-26 01:42:08
Resolution: None Closed By: nobody
    Closed on:
Description:
OriginalBugID: 5865 Bug
Version: 8.2
SubmitDate: '2000-06-08'
LastModified: '2000-06-21'
Severity: MED
Status: UnAssn
Submitter: techsupp
ChangedBy: ericm
OS: SunOS
OSVersion: SunOS beast 5.7 Generic_106541-09 sun4u sparc SUNW,Ultra-4
Machine: It's not mine, it's ArsDigita's, and I know nothing about it.
FixedDate: '2000-10-25'
ClosedDate: '2000-10-25'


Name:
Ian Baker

Extensions:
I have no clue.  It's running inside AOLserver, if that helps at all.

ReproducibleScript:
% regexp "(.+?)(.+?)(.{2,4})(.+?)(.+)" "abcdefghijklm" match a b c d e
1
% puts "$a:$b:$c:$d:$e"
a:b:cd:e:f

ObservedBehavior:
If the first quantifier is non-greedy, the RE matches "non-greedy only", as is described in ticket #2866.  If the first quantifier is greedy, however, the RE no longer matches either "greedy or non-greedy, but not some mixture of the two":  it begins to work as expected.

DesiredBehavior:
Here's an RE that mixes greedy and non-greedy quantifiers, yet works as expected, mixing the two. (note that the 1st, 3rd and 5th subexpressions match greedy, while the 2nd and 4th do not)

% regexp "(.?)(.+?)(.{2,4})(.+?)(.+)" "abcdefghijklm" match a b c d e
1
% puts "$a:$b:$c:$d:$e"
a:b:cdef:g:hijklm
User Comments: dram added on 2017-10-26 01:42:08:
Related to

1. https://core.tcl.tk/tcl/tktview?name=219219ffff
2. https://core.tcl.tk/tcl/tktview?name=2798939fff

dkf added on 2000-11-10 17:43:41:
Behaviour is confirmed in 8.3.2