A replacement for R standard gregexpr function
This is a replacement for the standard gregexpr function that does exact matching only. Standard gregexpr() misses matches when they are overlapping. The gregexpr2 function finds all matches but it only works in "fixed" mode i.e. for exact matching (regular expressions are not supported).
gregexpr2(pattern, text)
pattern |
character string to be matched in the given character vector |
text |
a character vector where matches are sought |
A list of the same length as text
each element of
which is an integer vector as in gregexpr
,
except that the starting positions of all (even overlapping)
matches are given.
Note that, unlike gregexpr
, gregexpr2
doesn't attach a "match.length"
attribute to each element of the returned list because, since it only works
in "fixed" mode, then all the matches have the length of the pattern.
Another difference with gregexpr
is that with gregexpr2
,
the pattern
argument must be a single (non-NA, non-empty) string.
H. Pagès
gregexpr("aa", c("XaaaYaa", "a"), fixed=TRUE) gregexpr2("aa", c("XaaaYaa", "a"))
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.