grep(pattern, text)
* zero or more occurrences of the previous character. .* matches any sequence of zero or more characters, irrespective of the previous character. ? matches any single character. [ ] encloses a set of values and matches any character within the set. Any continuous subset of ([A-Z]) is allowed. ! used within [ ] matches any character except those specified in the set.
state.name[ grep("ia$", state.name) ]
# find state names that end in "ia"
state.name[ grep("ia$|^M", state.name) ]
# find state names that end in "ia" or start with "M"
# Note matching is not the same as in ls
state.name [grep("Ne", state.name)]
# returns all states beginning with "Ne"
state.name [grep ("Neb", state.name)]
# returns Nebraska
state.name [grep("Ne*", state.name)]
# returns all states beginning with "N"
state.name [grep ("Ne.*", state.name)]
# returns all states beginning with "Ne"
state.name [grep ("Ne[a-e]", state.name)]
# returns Nebraska
# using a backslash with grep in S-PLUS:
str <- c("SP500","S.P500")
grep("^S.", str)
[1] 1 2
grep("^S.", str) # same as above because S removes the [1] 1 2
grep("^S\.", str) # what we want
[1] 2