[Rd] gregexpr - match overlap mishandled (PR#13391)
Prof Brian Ripley
ripley at stats.ox.ac.uk
Fri Dec 12 20:23:07 CET 2008
Please do your own homework: the help page says
For 'gregexpr' a list of the same length as 'text' each element of
which is an integer vector as in 'regexpr', except that the
starting positions of every (disjoint) match are given.
^^^^^^^^
If that is still not clear enough for you, please ask your supervisor for
remedial help.
On Fri, 12 Dec 2008, rthompso at aecom.yu.edu wrote:
> 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
>
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
>
--
Brian D. Ripley, ripley at stats.ox.ac.uk
Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/
University of Oxford, Tel: +44 1865 272861 (self)
1 South Parks Road, +44 1865 272866 (PA)
Oxford OX1 3TG, UK Fax: +44 1865 272595
More information about the R-devel
mailing list