[R] Extracting matched expressions

jim holtman jholtman at gmail.com
Sun Nov 8 20:40:02 CET 2009


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?




More information about the R-help mailing list