R: Match a regular expression to a character vector

re_match {rematch} | R Documentation

## Match a regular expression to a character vector

### Description

This function is a small wrapper on the `regexpr` base R function, to provide an API that is easier to use.

### Usage

    re_match(pattern, text, perl = TRUE, ...)

### Arguments

`pattern` | Regular expression, defaults to be a PCRE expression. See `regex` for more about regular expressions.
`text` | Character vector.
`perl` | Logical, should Perl-compatible regular expessions be used?
`...` | Additional arguments to pass to `regexpr`.

### Details

Currently only the first occurence of the pattern is used.

### Value

A character matrix of the matched (sub)strings. The first column is always the full match. This column is named `.match`. The result of the columns are capture groups, with appropriate column names, if the groups are named.

### Examples

    dates <- c("2016-04-20", "1977-08-08", "not a date", "2016",
      "76-03-02", "2012-06-30", "2015-01-21 19:58")
    isodate <- "([0-9]{4})-([0-1][0-9])-([0-3][0-9])"
    re_match(text = dates, pattern = isodate)

    # The same with named groups
    isodaten <- "(?<year>[0-9]{4})-(?<month>[0-1][0-9])-(?<day>[0-3][0-9])"
    re_match(text = dates, pattern = isodaten)

[Package rematch version 1.0.1 Index]