[R] grep for multiple pattern?
Prof Brian Ripley
ripley at stats.ox.ac.uk
Thu Feb 13 17:45:15 CET 2014
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 <Rainer at krugs.de
>> <mailto:Rainer at 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: Rainer at krugs.de <mailto:Rainer at krugs.de>
>>
>> Skype: RMkrug
>>
>>
>> ______________________________________________
>> R-help at r-project.org <mailto: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.
>>
>>
>
>
>
> ______________________________________________
> 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.
>
--
Brian D. Ripley, ripley at 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
More information about the R-help
mailing list