use the "|" in regular expressions:

 grep(c("an|em|eb", month.name)


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 <Rainer@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)
> [1] 1
> > grep("em", month.name)
> [1]  9 11 12
> > grep("eb", month.name)
> [1] 2
> > grep(c("an", "em", "eb"), month.name)
> [1] 1
> Warning message:
> In grep(c("an", "em", "eb"), 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 ) )
>  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
> Cell:       +33 - (0)6 85 62 59 98
> Fax :       +33 - (0)9 58 10 27 44
>
> Fax (D):    +49 - (0)3 21 21 25 22 44
>
> email:      Rainer@krugs.de
>
> Skype:      RMkrug
>
>
> ______________________________________________
> 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.
>
>

	[[alternative HTML version deleted]]


