character_class {rex} | R Documentation |
There are multiple ways you can define a character class.
character_class(x) one_of(...) any_of(..., type = c("greedy", "lazy", "possessive")) some_of(..., type = c("greedy", "lazy", "possessive")) none_of(...) except_any_of(..., type = c("greedy", "lazy", "possessive")) except_some_of(..., type = c("greedy", "lazy", "possessive")) range(start, end) `:`(start, end) exclude_range(start, end)
x |
text to include in the character class (must be escaped manually) |
... |
|
type |
the type of match to perform. There are three match types
|
start |
beginning of character class |
end |
end of character class |
character_class
: explicitly define a character class
one_of
: matches one of the specified characters.
any_of
: matches zero or more of the specified characters.
some_of
: matches one or more of the specified characters.
none_of
: matches anything but one of the specified characters.
except_any_of
: matches zero or more of anything but the specified characters.
except_some_of
: matches one or more of anything but the specified characters.
range
: matches one of any of the characters in the range.
:
: matches one of any of the characters in the range.
exclude_range
: matches one of any of the characters except those in the range.
Other rex:
%or%()
,
capture()
,
counts
,
group()
,
lookarounds
,
not()
,
rex()
,
shortcuts
,
wildcards
# grey = gray re <- rex("gr", one_of("a", "e"), "y") grepl(re, c("grey", "gray")) # TRUE TRUE # Match non-vowels re <- rex(none_of("a", "e", "i", "o", "u")) # They can also be in the same string re <- rex(none_of("aeiou")) grepl(re, c("k", "l", "e")) # TRUE TRUE FALSE # Match range re <- rex(range("a", "e")) grepl(re, c("b", "d", "f")) # TRUE TRUE FALSE # Explicit creation re <- rex(character_class("abcd\\[")) grepl(re, c("a", "d", "[", "]")) # TRUE TRUE TRUE FALSE