Ansicht
Dokumentation

ABENREGEX_SIMPLE - REGEX SIMPLE

ABENREGEX_SIMPLE - REGEX SIMPLE

Vendor Master (General Section)   SUBST_MERGE_LIST - merge external lists to one complete list with #if... logic for R3up  
This documentation is copyright by SAP AG.
SAP E-Book

Simplified Regular Expressions

In addition to the regular expressions (in accordance with the extended POSIX standard IEEE 1003.1), the class CL_ABAP_REGEX also offers an alternative type of simplified regular expression with restricted functions. These simplified regular expressions (also known as simplified expressions) do not support all POSIX operators and use a slightly different syntax in parts. The semantics of regular expressions and simplified expressions are, however, the same.

Simplified Syntax

The following table provides an overview of the syntax differences between regular expressions and simplified regular expressions.

Regular Syntax Simplified Syntax
* *
+ Not supported
{ } \{ \}
( ) \( \)
[ ] [ ]
| Not supported
(?= ) (?! ) Not supported
(?: ) Not supported

This table shows you that many special characters in the regular syntax have no effect in the simplified syntax. Parentheses and curly brackets need to be escaped using the character \ if they are to keep their function in the regular syntax.

Notes

  • Regular expressions with simplified syntax can only be used within the class CL_ABAP_REGEX. If the value 'X' is passed to the input parameter simple_regex, the regular expression is handled in accordance with the simplified syntax. By default, syntax in accordance with the extended POSIX standard is used. If the simplified syntax is to be used in the statements FIND or REPLACE, an object of the class CL_ABAP_REGEX must be passed.
  • The simplified syntax corresponds to the syntax of regular expressions in the command grep on Unix.

Example

This table shows the differences in parentheses between regular syntax and simplified syntax. The final two columns show examples to which the expressions in the first column are suited (depending on the syntax used).

Pattern Regular Syntax Simplified Syntax
(.) a (a)
\(.\) (a) a

Example

The first search uses regular syntax and finds the first three letters "aaa". The second search has simplified syntax, where "+" does not have any meaning as a special character, and finds the substring "a+" from offset 2.

DATA: regex TYPE REF TO cl_abap_regex,
      res   TYPE        match_result_tab.

CREATE OBJECT regex
  EXPORTING
    pattern      = 'a+'
    simple_regex = abap_false.
FIND ALL OCCURRENCES OF REGEX regex IN 'aaa+bbb' RESULTS res.

CREATE OBJECT regex
  EXPORTING
    pattern      = 'a+'
    simple_regex = abap_true.
FIND ALL OCCURRENCES OF REGEX regex IN 'aaa+bbb' RESULTS res.






SUBST_MERGE_LIST - merge external lists to one complete list with #if... logic for R3up   BAL_S_LOG - Application Log: Log header data  
This documentation is copyright by SAP AG.

Length: 4765 Date: 20240427 Time: 012543     sap01-206 ( 60 ms )