On 13/02/2014 16:25, Rainer M Krug wrote:

On 02/13/14, 17:23 , jim holtman wrote:
use the "|" in regular expressions:

  grep(c("an|em|eb", month.name <http://month.name/>)

Thanks - again a reason to learn regexp.

Note though that is an *extended* regex. They are the default in R, but not for grep, sed, ....

Another thing to watch out is that GNU grep allows (a\|b\|c) in 'basic' regexps -- but the POSIX standard does not, and nor do other implementations. The authors of the graphviz configure code (shipped with Rgraphviz) did not know this and wasted other people's resources.


Cheers,

Rainer



Jim Holtman
Data Munger Guru

What is the problem that you are trying to solve?
Tell me what you want to do, not how you want to do it.


On Thu, Feb 13, 2014 at 9:43 AM, Rainer M Krug <rai...@krugs.de
<mailto:rai...@krugs.de>> wrote:

     Hi

     I want to search for multiple pattern as grep is doing for a single
     pattern, but this obviously not work:

     > grep("an", month.name <http://month.name>)
     [1] 1
     > grep("em", month.name <http://month.name>)
     [1]  9 11 12
     > grep("eb", month.name <http://month.name>)
     [1] 2
     > grep(c("an", "em", "eb"), month.name <http://month.name>)
     [1] 1
     Warning message:
     In grep(c("an", "em", "eb"), month.name <http://month.name>) :
       argument 'pattern' has length > 1 and only the first element will
     be used
     >

     Is there an equivalent which returns the positions as grep is doing, but
     not using the strict full-string matching of match()?

     I could obviously do:

     > unlist( sapply(pat, grep, month.name <http://month.name> ) )
      an em1 em2 em3  eb
       1   9  11  12   2

     but is there a more compact command I am missing?

     Thanks,

     Rainer

     --
     Rainer M. Krug, PhD (Conservation Ecology, SUN), MSc (Conservation
     Biology, UCT), Dipl. Phys. (Germany)

     Centre of Excellence for Invasion Biology
     Stellenbosch University
     South Africa

     Tel :       +33 - (0)9 53 10 27 44
     <tel:%2B33%20-%20%280%299%2053%2010%2027%2044>
     Cell:       +33 - (0)6 85 62 59 98
     <tel:%2B33%20-%20%280%296%2085%2062%2059%2098>
     Fax :       +33 - (0)9 58 10 27 44
     <tel:%2B33%20-%20%280%299%2058%2010%2027%2044>

     Fax (D):    +49 - (0)3 21 21 25 22 44
     <tel:%2B49%20-%20%280%293%2021%2021%2025%2022%2044>

     email:      rai...@krugs.de <mailto:rai...@krugs.de>

     Skype:      RMkrug


     ______________________________________________
     R-help@r-project.org <mailto:R-help@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.





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



--
Brian D. Ripley,                  rip...@stats.ox.ac.uk
Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
University of Oxford,             Tel:  +44 1865 272861 (self)
1 South Parks Road,                     +44 1865 272866 (PA)
Oxford OX1 3TG, UK                Fax:  +44 1865 272595

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

Reply via email to