Learn R Programming

qdapRegex (version 0.7.8)

validate: Regex Validation Function Generator

Description

Generate function to validate regular expressions.

Usage

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

Value

Returns a function that operates typical of other qdapRegex

rm_XXX functions but with user defined defaults.

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_".

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

Run this code
## Single element email
valid_email <- validate("@rm_email")
valid_email(c("tyler.rinker@gmail.com", "@trinker"))

## Multiple elements
valid_email_1 <- validate("@rm_email", single=FALSE)
valid_email_1(c("tyler.rinker@gmail.com", "@trinker"))

## single element address
valid_address <- validate("@rm_city_state_zip")
valid_address("Buffalo, NY 14217")
valid_address("buffalo,NY14217")
valid_address("buffalo NY 14217")

valid_address2 <- validate(paste0("(\\b([A-Z][\\w-]*)+),", 
    "\\s([A-Z]{2})\\s(?\\d)\\d{5}(?:[ -]\\d{4})?\\b"))
valid_address2("Buffalo, NY 14217")
valid_address2("buffalo, NY 14217")
valid_address2("buffalo,NY14217")
valid_address2("buffalo NY 14217")    

Run the code above in your browser using DataLab