rex (version 1.1.2)

lookarounds: Lookarounds

Description

Lookarounds

Usage

x %if_next_is% y

x %if_next_isnt% y

x %if_prev_is% y

x %if_prev_isnt% y

Arguments

x

A regex pattern.

y

A regex pattern.

Details

These functions provide an interface to perl lookarounds.

Special binary functions are used to infer an ordering, since often you might wish to match a word / set of characters conditional on the start and end of that word.

  • %if_next_is%: TRUE if x follows y

  • %if_next_isnt%: TRUE if x does not follow y

  • %if_prev_is%: TRUE if y comes before x

  • %if_prev_isnt%: TRUE if y does not come before x

See Also

Perl 5 Documentation http://perldoc.perl.org/perlre.html#Extended-Patterns

Other rex: %or%, capture, character_class, counts, group, not, rex, shortcuts, wildcards

Examples

Run this code
# NOT RUN {
stopifnot(grepl(rex("crab" %if_next_is% "apple"), "crabapple", perl = TRUE))
stopifnot(grepl(rex("crab" %if_prev_is% "apple"), "applecrab", perl = TRUE))
stopifnot(grepl(rex(range("a", "e") %if_next_isnt% range("f", "g")),
  "ah", perl = TRUE))
stopifnot(grepl(rex(range("a", "e") %if_next_is% range("f", "i")),
  "ah", perl = TRUE))
# }

Run the code above in your browser using DataCamp Workspace