Find and Extract Regular Expressions from Strings
Arguments
- pattern
regular expression containing parts in parentheses that are to be extracted from text
- text
text to be matched against the regular expression
- match.names
optional. Names that are to be given to the extracted parts in the result list.
- select
named vector of numbers specifying the subexpressions in parentheses to be extracted.
- simplify
if TRUE (default) and text has only one element, the output structure will be a list instead a list of lists
- regularExpression
deprecated. Use new argument
pattern
instead
Value
If length(text) > 1
a list is returned with as many elements
as there are strings in text each of which is itself a list
containing the strings matching the subpatterns (enclosed in parentheses in
pattern) or NULL for strings that did not match. If
match.names are given, the elements of these lists are named according to the names given in match.names. If text is of length 1 and simplify = TRUE (default) the top level list structure described above is omitted, i.e. the list of substrings matching the subpatterns is returned.
Examples
# split date into year, month and day
subExpressionMatches("(\\\\d{4})\\\\-(\\\\d{2})\\\\-(\\\\d{2})", "2014-04-23")
#> NULL
# split date into year, month and day (give names to the resulting elements)
x <- subExpressionMatches(
pattern = "(\\\\d{4})\\\\-(\\\\d{2})\\\\-(\\\\d{2})", "2014-04-23",
match.names = c("year", "month", "day")
)
cat(paste0("Today is ", x$day, "/", x$month, " of ", x$year, "\n"))
#> Today is / of