On Sun, Dec 20, 2009 at 5:33 AM, Gabor Grothendieck <ggrothendi...@gmail.com> wrote: > Use a zero lookaround expression. It will not consume its match. See ?regexp
That should be lookahead, not lookaround. > >> gregexpr("a(?=a)", "aaa", perl = TRUE) > [[1]] > [1] 1 2 > attr(,"match.length") > [1] 1 1 > > > On Sun, Dec 20, 2009 at 1:43 AM, Jonathan <jonsle...@gmail.com> wrote: >> Last one for you guys: >> >> The command: >> >> length(gregexpr('cus','hocus pocus')[[1]]) >> [1] 2 >> >> returns the number of times the substring 'cus' appears in 'hocus pocus' >> (which is two) >> >> It's returning the number of **disjoint** matches. So: >> >> length(gregexpr('aa','aaa')[[1]]) >> [1] 1 >> >> returns 1. >> >> **What I want to do:** >> I'm looking for a way to count all occurrences of the substring, including >> overlapping sets (so 'aa' would be found in 'aaa' two times, because the >> middle 'a' gets counted twice). >> >> Any ideas would be much appreciated!! >> >> Signing off and thanks for all the great assistance, >> Jonathan > ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.