Skip to content
Back to formatted view

Raw Message

Message-ID: <509579CF.4040209@ufl.edu>
Date: 2012-11-03T20:08:47Z
From: Alexander Shenkin
Subject: backreferences in gregexpr
In-Reply-To: <CAP01uRnAUUVp-n=9pe-p3f0yatAzR_RCF-rCz2SVko0eAAwJfA@mail.gmail.com>

On 11/2/2012 5:14 PM, Gabor Grothendieck wrote:
> On Fri, Nov 2, 2012 at 6:02 PM, Alexander Shenkin <ashenkin at ufl.edu> wrote:
>> Hi Folks,
>>
>> I'm trying to extract just the backreferences from a regex.
>>
>>> temp = "abcd1234abcd1234"
>>> regmatches(temp, gregexpr("(?:abcd)(1234)", temp))
>> [[1]]
>> [1] "abcd1234" "abcd1234"
>>
>> What I would like is:
>> [1] "1234" "1234"
>>
>> Note: I know I can just match 1234 here, but the actual example is
>> complicated enough that I have to match a larger string, and just want
>> to pass out the backreferenced portion.
>>
>> Any help greatly appreciated!
>>
> 
> Try this:
> 
>> library(gsubfn)
>> strapplyc(temp, "abcd(1234)")
> [[1]]
> [1] "1234" "1234"
> 

Thanks Gabor.  Didn't find strapplyc in package gsubfun, but did find
strapply, and that worked well.