pattern {operators} | R Documentation |
Set of convenience functions to handle strings and pattern matching. These are basically
companion binary operators for the classic R function grep
and regexpr
.
x %~% rx x %!~% rx x %~*% rx x %!~*% rx x %~+% rx x %!~+% rx
x |
text to manipulate |
rx |
regular expression |
%~%
: gives a logical vector indicating which elements of x
match the regular expression rx
. %!%
is the negation of
%~%
%~*%
: gives a single logical indicating if all the elements
of x
are matching teh regular expression rx
. %~*%
is the
negation of %~*%
.
The matching is done using a modified version of the regexpr
function. The
modification is preformed by applying the operators.regexpr
option to
the regexpr
function via the %but%
operator.
The default version of regexpr
enables the perl
and
extended
options. See %but%
for details.
Romain Francois <francoisromain@free.fr>
txt <- c("arm","foot","lefroo", "bafoobar") txt %~% "foo" txt %!~% "foo" txt %~*% "foo" txt %~+% "foo" txt %!~*% "foo" txt %!~+% "foo" txt %~% "[a-z]" txt %!~% "[a-z]" txt %~*% "[a-z]" txt %~+% "[a-z]" txt %!~*% "[a-z]" txt %!~+% "[a-z]" cols <- colors() cols[ cols %~% "^blue" ] # see also ## needs perl regular expression for the \\d, see old.op <- options( operators.regexpr = "p" ) cols[ cols %!~% "\d$" ] options( old.op )