Skip to contents

Uses gregexec() and regmatches() internally.

Usage

strMatchAll(x, pattern, fixed = FALSE)

Arguments

x

character. Character vector. NA values are allowed.

pattern

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

fixed

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

Value

list. List of 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 <- strMatchAll(
    x = c("a-b", "c-d", "e_f", NA),
    pattern = "^(.+)-(.+)$",
    fixed = FALSE
)
print(object)
#> [[1]]
#>      [,1]  [,2] [,3]
#> [1,] "a-b" "a"  "b" 
#> 
#> [[2]]
#>      [,1]  [,2] [,3]
#> [1,] "c-d" "c"  "d" 
#> 
#> [[3]]
#>      [,1] [,2] [,3]
#> [1,] NA   NA   NA  
#> 
#> [[4]]
#>      [,1] [,2] [,3]
#> [1,] NA   NA   NA  
#> 

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