Skip to content
Back to formatted view

Raw Message

Message-ID: <971536df0812010318q7ec499c7l90f7eed91e6bf077@mail.gmail.com>
Date: 2008-12-01T11:18:54Z
From: Gabor Grothendieck
Subject: Regex: workaround for variable length negative lookbehind
In-Reply-To: <49337430.6050608@idi.ntnu.no>

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)
[1] 2 3 5