Do it in two steps: > x <- c("NEQ23", "NHQ29", "NGQ00", "NFQ123") > pat <- "N[E-H]Q[0-9]{2}" > bad <- "N[E-H]Q29" > all <- grep(pat, x, perl=TRUE) > x29 <- grep(bad, x, perl=TRUE) > setdiff(all, x29) [1] 1 3 4 >
On Tue, Feb 24, 2009 at 7:57 AM, Katrine Damgaard <katrine.damga...@kunnskapssenteret.no> wrote: > Hello everybody! > > I'm using Perl regular Expression for find pattern in my data set. > > The pattern is: NaQxy, where a=E, F, G or H and xy != 29. I have tried this: > > pattern <- "^N[E-H]Q[0-9]{2,2}" > index <- grep(pattern, X, perl=T) #where X is my vector > > But the problem is the xy should not be 29. How can I solve this problem. > > Thanks!!! > > > > Regards, > > Katrine > > > > [[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. > -- Jim Holtman Cincinnati, OH +1 513 646 9390 What is the problem that you are trying to solve? ______________________________________________ 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.