repeated {rebus.base} | R Documentation |
Repeat values
Description
Match repeated values.
Usage
repeated(x, lo, hi, lazy = FALSE, char_class = NA)
optional(x, char_class = NA)
lazy(x)
zero_or_more(x, char_class = NA)
one_or_more(x, char_class = NA)
Arguments
x |
A character vector. |
lo |
A non-negative integer. Minimum number of repeats, when grouped. |
hi |
positive integer. Maximum number of repeats, when grouped. |
lazy |
A logical value. Should repetition be matched lazily or greedily? |
char_class |
A logical value. Should |
Value
A character vector representing part or all of a regular expression.
References
http://www.regular-expressions.info/repeat.html and http://www.rexegg.com/regex-quantifiers.html
Examples
# Can match constants or class values
repeated(GRAPH, 2, 5)
repeated(graph(), 2, 5) # same
# Short cuts for special cases
optional(blank()) # same as repeated(blank(), 0, 1)
zero_or_more(hex_digit()) # same as repeated(hex_digit(), 0, Inf)
one_or_more(printable()) # same as repeated(printable(), 1, Inf)
# 'Lazy' matching (match smallest no. of chars)
repeated(cntrl(), 2, 5, lazy = TRUE)
lazy(one_or_more(cntrl()))
# Overriding character class wrapping
repeated(ANY_CHAR, 2, 5, char_class = FALSE)
# Usage
x <- "1234567890"
stringi::stri_extract_first_regex(x, one_or_more(DIGIT))
stringi::stri_extract_first_regex(x, repeated(DIGIT, lo = 3, hi = 6))
stringi::stri_extract_first_regex(x, lazy(repeated(DIGIT, lo = 3, hi = 6)))
col <- c("color", "colour")
stringi::stri_detect_regex(col, "colo" %R% optional("u") %R% "r")
[Package rebus.base version 0.0-3 Index]