Capturing groups

Intermediate Regular Expressions in R

Angelo Zehr

Data Journalist

A regular pattern

str_match(
  "payload: 'Adam, 5, 3', headers: 'Auth...'",
  pattern = "[A-Za-z]+, \\d+, \\d+"
)

Resulted in:

     [,1]        
[1,] "Adam, 5, 3"
Intermediate Regular Expressions in R

Meet capturing groups

str_match(
  "payload: 'Adam, 5, 3', headers: 'Auth...'",
  pattern = "([A-Za-z]+), (\\d+), (\\d+)"
)

Results in:

     [,1]         [,2]   [,3] [,4]
[1,] "Adam, 5, 3" "Adam" "5"  "3"
Intermediate Regular Expressions in R

Replacement

str_replace(
  "payload: 'Adam, 5, 3', headers: 'Auth...'",
  pattern = "([A-Za-z]+), (\\d+), (\\d+)",
  replacement = "\\1 tried to log in \\2 times."
)

Returns:

"payload: 'Adam tried to log in 5 times.', headers: 'Auth...'"`
Intermediate Regular Expressions in R

String split

str_split(
  "a:b:c:d",
  pattern = ":",
  simplify = FALSE
)
[[1]]
[1] "a" "b" "c" "d"
str_split(
  "a:b:c:d",
  pattern = ":",
  simplify = TRUE
)
     [,1] [,2] [,3] [,4]
[1,] "a"  "b"  "c"  "d"
Intermediate Regular Expressions in R

Let's practice!

Intermediate Regular Expressions in R

Preparing Video For Download...