Rev 61160 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed
% File src/library/utils/man/glob2rx.Rd% Part of the R package, http://www.R-project.org% Copyright 1995-2008 R Core Team% Copyright 2002-2008 The R Foundation% Distributed under GPL 2 or later\name{glob2rx}\alias{glob2rx}\title{Change Wildcard or Globbing Pattern into Regular Expression}\description{Change \emph{wildcard} aka \emph{globbing} patterns into thecorresponding regular expressions (\code{\link{regexp}}).}\usage{glob2rx(pattern, trim.head = FALSE, trim.tail = TRUE)}\arguments{\item{pattern}{character vector}\item{trim.head}{logical specifying if leading \code{"^.*"} should betrimmed from the result.}\item{trim.tail}{logical specifying if trailing \code{".*$"} should betrimmed from the result.}}\details{This takes a wildcard as used by most shells and returns an equivalentregular expression. \code{?} is mapped to \code{.} (match a singlecharacter), \code{*} to \code{.*} (match any string, including anempty one), and the pattern is anchored (it must start at thebeginning and end at the end). Optionally, the resulting regexp issimplified.Note that now even \code{(}, \code{[} and \code{\{} can be usedin \code{pattern}, but \code{glob2rx()} may not work correctly witharbitrary characters in \code{pattern}.}\value{A character vector of the same length as the input \code{pattern}where each wildcard is translated to the correspondingregular expression.}\author{Martin Maechler, Unix/sed based version, 1991; current: 2004}\seealso{\code{\link{regexp}} about regular expression,\code{\link{sub}}, etc about substitutions using regexps.}\examples{stopifnot(glob2rx("abc.*") == "^abc\\\\.",% '\\' doubled in Rd file!glob2rx("a?b.*") == "^a.b\\\\.",glob2rx("a?b.*", trim.tail = FALSE) == "^a.b\\\\..*$",glob2rx("*.doc") == "^.*\\\\.doc$",glob2rx("*.doc", trim.head = TRUE) == "\\\\.doc$",glob2rx("*.t*") == "^.*\\\\.t",glob2rx("*.t??") == "^.*\\\\.t..$",glob2rx("*[*") == "^.*\\\\[")}\keyword{file}\keyword{character}\keyword{utilities}