Skip to contents

Uses regexec() and regmatches() internally.

Usage

strMatch(x, pattern, fixed = FALSE)

Arguments

x

character. Character vector. NA values are allowed.

pattern

character(1). Regular expression pattern. Evalutes with regexec() internally.

fixed

logical(1). If TRUE, pattern is a string to be matched as is. Otherwise, will match by regular expression.

Value

matrix. Character matrix of match groups.

Details

Expands with NA values for match failures, like stringi and stringr.

Note

Updated 2023-09-25.

See also

Examples

## Regex match.
object <- strMatch(
    x = c("a-b", "c-d", "e_f", NA),
    pattern = "^(.+)-(.+)$",
    fixed = FALSE
)
print(object)
#>      [,1]  [,2] [,3]
#> [1,] "a-b" "a"  "b" 
#> [2,] "c-d" "c"  "d" 
#> [3,] NA    NA   NA  
#> [4,] NA    NA   NA  

## Fixed match.
object <- strMatch(
    x = c("a", "aa", "b", "bb"),
    pattern = "a",
    fixed = TRUE
)
print(object)
#>      [,1]
#> [1,] "a" 
#> [2,] "a" 
#> [3,] NA  
#> [4,] NA