Dear R useRs, Sorry for this foolish question, but I can't find how to escape the * character when using grep :> grep("-", c("/3", "2*3", "4-4"))[1] 3> grep("/", c("/3", "2*3", "4-4"))[1] 1> grep("*", c("/3", "2*3", "4-4"))Erreur dans grep("*", c("/3", "2*3", "4-4")) : expression régulière incorrecte '*' De plus : Warning message: In grep("*", c("/3", "2*3", "4-4")) : erreur rgcomp : 'Expression régulière précédente incorrecte'> grep("\*", c("/3", "2*3", "4-4"))Erreur dans grep("*", c("/3", "2*3", "4-4")) : expression régulière incorrecte '*' De plus : Warning messages: 1: '\*' est un code escape non reconnu dans une chaîne de caractères 2: code escape non reconnu éliminé de "\*" 3: In grep("*", c("/3", "2*3", "4-4")) : erreur rgcomp : 'Expression régulière précédente incorrecte' Best regards, david [[alternative HTML version deleted]]
Use double backslashes: grep("\\*", c("/3", "2*3", "4-4")) 2009/1/9 David Hajage <dhajage.r@gmail.com>> Dear R useRs, > > Sorry for this foolish question, but I can't find how to escape the * > character when using grep : > > > grep("-", c("/3", "2*3", "4-4")) > [1] 3 > > grep("/", c("/3", "2*3", "4-4")) > [1] 1 > > grep("*", c("/3", "2*3", "4-4")) > Erreur dans grep("*", c("/3", "2*3", "4-4")) : > expression régulière incorrecte '*' > De plus : Warning message: > In grep("*", c("/3", "2*3", "4-4")) : > erreur rgcomp : 'Expression régulière précédente incorrecte' > > grep("\*", c("/3", "2*3", "4-4")) > Erreur dans grep("*", c("/3", "2*3", "4-4")) : > expression régulière incorrecte '*' > De plus : Warning messages: > 1: '\*' est un code escape non reconnu dans une chaîne de caractères > 2: code escape non reconnu éliminé de "\*" > 3: In grep("*", c("/3", "2*3", "4-4")) : > erreur rgcomp : 'Expression régulière précédente incorrecte' > > Best regards, > > david > > [[alternative HTML version deleted]] > > > ______________________________________________ > 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. > >-- Henrique Dallazuanna Curitiba-Paraná-Brasil 25° 25' 40" S 49° 16' 22" O [[alternative HTML version deleted]]
On 1/9/2009 10:38 AM, David Hajage wrote:> Dear R useRs, > > Sorry for this foolish question, but I can't find how to escape the * > character when using grep :You use a backslash to escape the *. Unfortunately, to enter a backslash in an R string, you need to escape it. So the pattern is "\\*". Duncan Murdoch> >> grep("-", c("/3", "2*3", "4-4")) > [1] 3 >> grep("/", c("/3", "2*3", "4-4")) > [1] 1 >> grep("*", c("/3", "2*3", "4-4")) > Erreur dans grep("*", c("/3", "2*3", "4-4")) : > expression r?guli?re incorrecte '*' > De plus : Warning message: > In grep("*", c("/3", "2*3", "4-4")) : > erreur rgcomp : 'Expression r?guli?re pr?c?dente incorrecte' >> grep("\*", c("/3", "2*3", "4-4")) > Erreur dans grep("*", c("/3", "2*3", "4-4")) : > expression r?guli?re incorrecte '*' > De plus : Warning messages: > 1: '\*' est un code escape non reconnu dans une cha?ne de caract?res > 2: code escape non reconnu ?limin? de "\*" > 3: In grep("*", c("/3", "2*3", "4-4")) : > erreur rgcomp : 'Expression r?guli?re pr?c?dente incorrecte' > > Best regards, > > david > > [[alternative HTML version deleted]] > > > > ------------------------------------------------------------------------ > > ______________________________________________ > 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.
* must be escaped for grep with \ and \ must be escaped for R itself with another \, so you need grep("\\*", c("/3", "2*3", "4-4")) Gabor 2009/1/9 David Hajage <dhajage.r at gmail.com>:> Dear R useRs, > > Sorry for this foolish question, but I can't find how to escape the * > character when using grep : > >> grep("-", c("/3", "2*3", "4-4")) > [1] 3 >> grep("/", c("/3", "2*3", "4-4")) > [1] 1 >> grep("*", c("/3", "2*3", "4-4")) > Erreur dans grep("*", c("/3", "2*3", "4-4")) : > expression r?guli?re incorrecte '*' > De plus : Warning message: > In grep("*", c("/3", "2*3", "4-4")) : > erreur rgcomp : 'Expression r?guli?re pr?c?dente incorrecte' >> grep("\*", c("/3", "2*3", "4-4")) > Erreur dans grep("*", c("/3", "2*3", "4-4")) : > expression r?guli?re incorrecte '*' > De plus : Warning messages: > 1: '\*' est un code escape non reconnu dans une cha?ne de caract?res > 2: code escape non reconnu ?limin? de "\*" > 3: In grep("*", c("/3", "2*3", "4-4")) : > erreur rgcomp : 'Expression r?guli?re pr?c?dente incorrecte' > > Best regards, > > david > > [[alternative HTML version deleted]] > > > ______________________________________________ > 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. > >-- Gabor Csardi <Gabor.Csardi at unil.ch> UNIL DGM
Use fixed = TRUE argument to grep. 2009/1/9 David Hajage <dhajage.r at gmail.com>:> Dear R useRs, > > Sorry for this foolish question, but I can't find how to escape the * > character when using grep : > >> grep("-", c("/3", "2*3", "4-4")) > [1] 3 >> grep("/", c("/3", "2*3", "4-4")) > [1] 1 >> grep("*", c("/3", "2*3", "4-4")) > Erreur dans grep("*", c("/3", "2*3", "4-4")) : > expression r?guli?re incorrecte '*' > De plus : Warning message: > In grep("*", c("/3", "2*3", "4-4")) : > erreur rgcomp : 'Expression r?guli?re pr?c?dente incorrecte' >> grep("\*", c("/3", "2*3", "4-4")) > Erreur dans grep("*", c("/3", "2*3", "4-4")) : > expression r?guli?re incorrecte '*' > De plus : Warning messages: > 1: '\*' est un code escape non reconnu dans une cha?ne de caract?res > 2: code escape non reconnu ?limin? de "\*" > 3: In grep("*", c("/3", "2*3", "4-4")) : > erreur rgcomp : 'Expression r?guli?re pr?c?dente incorrecte' > > Best regards, > > david > > [[alternative HTML version deleted]] > > > ______________________________________________ > 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. > >
Hi there, you probably want something like: # R grep("\\*", c("/3", "2*3", "4-4")) hope that helps a little, Tony Breyal On 9 Jan, 15:38, "David Hajage" <dhajag... at gmail.com> wrote:> Dear R useRs, > > Sorry for this foolish question, but I can't find how to escape the * > character when using grep : > > > grep("-", c("/3", "2*3", "4-4")) > [1] 3 > > grep("/", c("/3", "2*3", "4-4")) > [1] 1 > > grep("*", c("/3", "2*3", "4-4")) > > Erreur dans grep("*", c("/3", "2*3", "4-4")) : > ? expression r?guli?re incorrecte '*' > De plus : Warning message: > In grep("*", c("/3", "2*3", "4-4")) : > ? erreur rgcomp : 'Expression r?guli?re pr?c?dente incorrecte'> grep("\*", c("/3", "2*3", "4-4")) > > Erreur dans grep("*", c("/3", "2*3", "4-4")) : > ? expression r?guli?re incorrecte '*' > De plus : Warning messages: > 1: '\*' est un code escape non reconnu dans une cha?ne de caract?res > 2: code escape non reconnu ?limin? de "\*" > 3: In grep("*", c("/3", "2*3", "4-4")) : > ? erreur rgcomp : 'Expression r?guli?re pr?c?dente incorrecte' > > Best regards, > > david > > ? ? ? ? [[alternative HTML version deleted]] > > ______________________________________________ > R-h... at r-project.org mailing listhttps://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guidehttp://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code.