[R] Extracting matched expressions

Hadley Wickham hadley at rice.edu
Mon Nov 9 16:54:44 CET 2009


Thanks Jim - it's not elegant, but it works.  Instead of using space
as a delimiter, I used "\u001E" - it's the unicode record delimiter
character, and I figure there's less chance of a clash with a
character in the match.

Hadley

On Sun, Nov 8, 2009 at 1:40 PM, jim holtman <jholtman at gmail.com> wrote:
> Is this what you want:
>
>> x <- 'xxxx xxxx one two three xxxx xxxx'
>> y <- sub(".*?([^[:space:]]+)[[:space:]]+([^[:space:]]+)[[:space:]]+([ehrt]{5}).*",
> +     "\\1 \\2 \\3", x, perl=TRUE)
>> unlist(strsplit(y, ' '))
> [1] "one"   "two"   "three"
>
>
> On Sun, Nov 8, 2009 at 1:51 PM, Hadley Wickham <hadley at rice.edu> wrote:
>> Hi all,
>>
>> Is there a tool in base R to extract matched expressions from a
>> regular expression?  i.e. given the regular expression "(.*?) (.*?)
>> ([ehtr]{5})" is there a way to extract the character vector c("one",
>> "two", "three") from the string "one two three" ?
>>
>> Thanks,
>>
>> Hadley
>>
>> --
>> http://had.co.nz/
>>
>> ______________________________________________
>> 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.
>>
>
>
>
> --
> Jim Holtman
> Cincinnati, OH
> +1 513 646 9390
>
> What is the problem that you are trying to solve?
>
> ______________________________________________
> 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.
>



-- 
http://had.co.nz/




More information about the R-help mailing list