Gabor Grothendieck | 1 Dec 12:18

Re: Regex: workaround for variable length negative lookbehind

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

______________________________________________
R-help <at> 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.

(Continue reading)

Wacek Kusnierczyk | 1 Dec 12:31
Favicon

Re: 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:
(Continue reading)


Gmane