From rthompso at aecom.yu.edu  Fri Dec 12 18:05:04 2008
From: rthompso at aecom.yu.edu (rthompso at aecom.yu.edu)
Date: Fri, 12 Dec 2008 18:05:04 +0100 (CET)
Subject: [Rd] gregexpr - match overlap mishandled (PR#13391)
Message-ID: <20081212170504.93484282EFC1@mail.pubhealth.ku.dk>

Full_Name: Reid Thompson
Version: 2.8.0 RC (2008-10-12 r46696)
OS: darwin9.5.0
Submission from: (NULL) (129.98.107.177)


the gregexpr() function does NOT return a complete list of global matches as it
should.  this occurs when a pattern matches two overlapping portions of a
string, only the first match is returned.

the following function call demonstrates this error (although this is not how I
initially discovered the problem):
gregexpr("11221122", paste(rep("1122", 10), collapse=""))

instead of returning 9 matches as one would expect, only 5 matches are returned
. . .

[[1]]
[1]  1  9 17 25 33
attr(,"match.length")
[1] 8 8 8 8 8

you will note, essentially, that the entire first match is then excluded from
subsequent matching



[Rd] gregexpr - match overlap mishandled (PR#13391)
rthompso at aecom.yu.edu