The hardware and bandwidth for this mirror is donated by METANET, the Webhosting and Full Service-Cloud Provider.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]metanet.ch.

Examples

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.

Contains two words

# 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

Between two words

# 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

Starts with word

# 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

Ends with word

# 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

Starts and end with words

# 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

Case insensitive

# find something regardless of case
rx() %>% 
  rx_find("cat") %>% 
  rx_with_any_case() %>% 
  print() %>% 
  grepl(c("cat", "CAT"))
#> [1] "(?i)(cat)"
#> [1] TRUE TRUE

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.