Seems like a good idea to me. Here is a workaround that works in any event which combines (?i), \Q and \E . to get the same effect. (?i) gives case insensitive matches and \Q and \E quote and endquote the intervening text disabling special characters:
x <- c("D.G cat", "d.g cat", "dog cat") z <- "d.g" rx <- paste("(?i)\\Q", z, "\\E", sep = "") grep(rx, x, perl = TRUE) # 1 2 On 5/7/07, Petr Savicky <[EMAIL PROTECTED]> wrote: > Dear R developers, > > I suggest to modify the behaviour of "grep" function with fixed=TRUE option. > > Currently, fixed=TRUE implies ignore.case=FALSE (overrides ignore.case=TRUE, > if set by the user). > > I suggest to keep ignore.case as set by the user even if fixed=TRUE. Since > the default of ignore.case is FALSE, this would not change the behaviour > of grep, if the user does not set ignore.case explicitly. > > In my opinion, fixed=TRUE is most useful for suppressing meta-character > expansion. On the other hand, for a simple word search, ignoring > case is sometimes useful. > > If for some reason, it is better to keep the current behavior of grep, then I > suggest to extend the documentation as follows: > > ORIGINAL: > fixed: logical. If 'TRUE', 'pattern' is a string to be matched as > is. Overrides all conflicting arguments. > > SUGGESTED: > fixed: logical. If 'TRUE', 'pattern' is a string to be matched as > is. Overrides all conflicting arguments including ignore.case. > > All the best, Petr Savicky. > > ______________________________________________ > R-devel@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-devel > ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel