Regex: workaround for variable length negative lookbehind
Gabor Grothendieck wrote:
On Mon, Dec 1, 2008 at 12:20 AM, Wacek Kusnierczyk <Waclaw.Marcin.Kusnierczyk at idi.ntnu.no> wrote:
Gabor Grothendieck wrote:
Try this:
vec <- c("aaaa", "baaa", "bbaa", "bbba", "baamm", "aa")
grep("^(?!(.)\\1{1,}$).*(.)\\2{1,}$", vec, perl = TRUE)
or even
grep("^(?!(.)\\1+$).*(.)\\2+$", vec, perl = TRUE)
Or combining the previous simplification I posted with yours:
grep("^(?!(.)\\1+$).*(.)\\2$", vec, perl = TRUE)
ha! you can even make it a tiny little bit faster:
grep("^(?!(.)\\1+$).+(.)\\2$", vec, perl = TRUE)
;)
vQ