[Rd] gregexpr - match overlap mishandled (PR#13391)

rthompso at aecom.yu.edu rthompso at aecom.yu.edu
Fri Dec 12 18:05:04 CET 2008


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



More information about the R-devel mailing list