ABAP Keyword Documentation → ABAP − Reference → Program Flow Logic → Expressions and Functions for Conditions → log_exp - Logical Expressions → rel_exp - Predicates → rel_exp - Predicate Functions → Predicate functions for character-like arguments
rel_exp - matches, Predicate Function
Other versions: 7.31 | 7.40 | 7.54
Syntax
... matches( val = text
regex = regex [case = case]
[off = off] [len = len] ) ...
Effect
The predicate function
matches
compares a search range of the argument
text
, defined using
off and len
, with the
regular expression specified in regex
. A corresponding
truth value is returned.
The return value is true when the whole search range matches the regular expression. The comparison
is case-sensitive by default, but this can be overridden using the parameter case
.
Note
The match function match
can be used to return a substring that matches a regular expression.
Example
The first predicate function returns the value "true" because the argument val
only contains letters. The first predicate function returns the value "false" because the argument val
also contains numbers.
ASSERT matches( val = 'abcde' regex = '[[:alpha:]]*' ).
ASSERT NOT matches( val = 'a123e' regex = '[[:alpha:]]*' ).
Executable Example
Exceptions
Handleable Exceptions
CX_SY_RANGE_OUT_OF_BOUNDS
-
Cause: Illegal offset or length specified in
off
andlen
.
Runtime error:STRING_OFFSET_TOO_LARGE
CX_SY_REGEX_TOO_COMPLEX
-
Cause: More information: Exceptions in Regular Expressions.
Runtime error:REGEX_TOO_COMPLEX
CX_SY_STRG_PAR_VAL
-
Cause: Regular expression in
regex
is empty.
Runtime error:STRG_ILLEGAL_PAR