Regex Validation Function Generator

Usage

validate(pattern, single = TRUE, trim = FALSE, clean = FALSE, dictionary = getOption("regex.library"))

Arguments

pattern
A character string containing a regular expression (or character string for fixed = TRUE) to be matched in the given character vector.
single
logical. If TRUE only returns true if the output string is of length one. If FALSE multiple strings and multiple outputs are accepted.
trim
logical. If TRUE removes leading and trailing white spaces.
clean
trim logical. If TRUE extra white spaces and escaped character will be removed.
dictionary
A dictionary of canned regular expressions to search within if pattern begins with "@rm_".

Value

Returns a function that operates typical of other qdapRegex rm_XXX functions but with user defined defaults.

Description

Generate function to validate regular expressions.

Warning

validate uses qdapRegex's built in regular expressions. As this patterns are used for text analysis they tend to be flexible and thus liberal. The user may wish to define more conservative validation regular expressions and supply to pattern.

Examples

## Single element email valid_email <- validate("@rm_email") valid_email(c("tyler.rinker@gmail.com", "@trinker"))
[1] FALSE
## Multiple elements valid_email_1 <- validate("@rm_email", single=FALSE) valid_email_1(c("tyler.rinker@gmail.com", "@trinker"))
[1] TRUE FALSE
## single element address valid_address <- validate("@rm_city_state_zip") valid_address("Buffalo, NY 14217")
[1] TRUE
valid_address("buffalo,NY14217")
[1] TRUE
valid_address("buffalo NY 14217")
[1] FALSE
valid_address2 <- validate(paste0("(\\b([A-Z][\\w-]*)+),", "\\s([A-Z]{2})\\s(?<!\\d)\\d{5}(?:[ -]\\d{4})?\\b")) valid_address2("Buffalo, NY 14217")
[1] TRUE
valid_address2("buffalo, NY 14217")
[1] FALSE
valid_address2("buffalo,NY14217")
[1] FALSE
valid_address2("buffalo NY 14217")
[1] FALSE