--- title: "Examples" output: rmarkdown::html_vignette vignette: > %\VignetteIndexEntry{Examples} %\VignetteEngine{knitr::rmarkdown} %\VignetteEncoding{UTF-8} --- ```{r, include = FALSE} knitr::opts_chunk$set( collapse = TRUE, comment = "#>" ) library(RVerbalExpressions) ``` 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 ```{r} # find something that must contain two words rx() %>% rx_find("cat") %>% rx_anything() %>% rx_find("dog") %>% print() %>% grepl(c("cat dog", "cat", "dog")) ``` ## Between two words ```{r} # 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) ``` ## Starts with word ```{r} # find something that starts with word rx() %>% rx_start_of_line() %>% rx_find("cat") %>% print() %>% grepl(c("cat", "cat dog", "dog cat")) ``` ## Ends with word ```{r} # find something that ends with word rx() %>% rx_find("cat") %>% rx_end_of_line() %>% print() %>% grepl(c("cat", "cat dog", "dog cat")) ``` ## Starts and end with words ```{r} # 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")) ``` ## Case insensitive ```{r} # find something regardless of case rx() %>% rx_find("cat") %>% rx_with_any_case() %>% print() %>% grepl(c("cat", "CAT")) ```