[ABAP] RegEx – String auf gültige Email-Adresse prüfen

*         Übersicht TLD: https://data.iana.org/TLD/tlds-alpha-by-domain.txt
* Format Email-Adressen: https://de.wikipedia.org/wiki/E-Mail-Adresse
*    einfaches Beispiel: ^[\w\.=-]+@[\w\.-]+\.[\w]{2,18}$
*    komplexes Beispiel: ^[a-zA-Z0-9][A-Za-z0-9\.!#$%&'*+\-\/=?^_`{|}~]{0,28}[a-zA-Z0-9]@[äöü\w\.\-]+\.[\w]{2,18}$
PARAMETERS: p_email type string DEFAULT '.my.email@email.com' LOWER CASE.

IF abap_true = cl_abap_matcher=>create( pattern     = |^[a-zA-Z0-9][A-Za-z0-9.!#$%&'*+-/=?^_`\{\|\}~]\{0,28\}[a-zA-Z0-9]@[äöü\\w.-]+.[\\w]\{2,18\}$|
                                        text        = p_email
                                        ignore_case = abap_true )->match( ).
  WRITE: / 'Gültige Email'.
ELSE.
  WRITE: / 'Ungültige Email'.
ENDIF.