The goal of this vignette is to provide some basic examples that solve common regular expression tasks. The print and grepl calls are attached at the end of each chain to show the regular expression that is constructed and what it matches.
print
grepl
# find something that must contain two words rx() %>% rx_find("cat") %>% rx_anything() %>% rx_find("dog") %>% print() %>% grepl(c("cat dog", "cat", "dog")) #> [1] "(cat)(.*)(dog)" #> [1] TRUE FALSE FALSE
# find something between two words rx() %>% rx_seek_prefix("cat") %>% rx_something() %>% rx_seek_suffix("dog") %>% print() %>% grepl(c("cat something dog", "catdog"), perl = TRUE) #> [1] "(?<=cat)(.+)(?=dog)" #> [1] TRUE FALSE
# find something that starts with word rx() %>% rx_start_of_line() %>% rx_find("cat") %>% print() %>% grepl(c("cat", "cat dog", "dog cat")) #> [1] "^(cat)" #> [1] TRUE TRUE FALSE
# find something that ends with word rx() %>% rx_find("cat") %>% rx_end_of_line() %>% print() %>% grepl(c("cat", "cat dog", "dog cat")) #> [1] "(cat)$" #> [1] TRUE FALSE TRUE
# find something that starts with and ends with words rx() %>% rx_start_of_line() %>% rx_find("cat") %>% rx_anything() %>% rx_find("dog") %>% rx_end_of_line() %>% print() %>% grepl(c("cat", "cat dog", "dog cat")) #> [1] "^(cat)(.*)(dog)$" #> [1] FALSE TRUE FALSE
# find something regardless of case rx() %>% rx_find("cat") %>% rx_with_any_case() %>% print() %>% grepl(c("cat", "CAT")) #> [1] "(?i)(cat)" #> [1] TRUE TRUE