[R] Regex: workaround for variable length negative lookbehind
Wacek Kusnierczyk
Waclaw.Marcin.Kusnierczyk at idi.ntnu.no
Mon Dec 1 12:31:37 CET 2008
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
More information about the R-help
mailing list