Reguläre Ausdrücke / Regular Express
Aus SAP-Wiki
Zur Navigation springenZur Suche springen
Reguläre Ausdrücke konnen hochkomplexe ABAP-Befehle sein, um Inhalte in einem String zu finden.
Man spricht von “Pattern” um den Suchbefehl anzugeben, vom “Text” im zu suchenden Text und von “Match”, wenn das Pattern eine Fundstelle hat.
Testprogramme Reguläre Ausdrücke
Es ist empfehlenswert das Programm DEMO_REGEX zum Einstieg in Reguläre Ausdrücke aufzurüfen.
Über die Testprogramme lässt sich auch die SAP-Dokumentation zu Regulären Ausdrücken aufrufen.
- DEMO_REGEX
- DEMO_REGEX_TOY
SAP-Codingsuchprogramm RS_ABAP_SOURCE_SCAN
- RS_ABAP_SOURCE_SCAN
- Das SAP-Codingsuchprogramm RS_ABAP_SOURCE_SCAN kann auch mit der Syntax von Regulären Ausdrücken verwendet werden.
Coding FiND REGEX
- Im Parameter "P_FIND" steht der regulär Expression
- In der Variablen XTLINES-TDLINE ist der String, der durchsucht wird
- In die Variable GF_MOFF wird der Offset von der Fundstelle gefüllt
- In die Variable GF_MLEN wird die Länge des gefunden Strings gefüllt
FIND REGEX p_find IN xtlines-tdline MATCH OFFSET gf_moff MATCH LENGTH gf_mlen.
Beispiel [0]{3}[0-9]{7}
- Im Projekt sollten hart codierte Lieferante- und Kundenummern im Coding identifiziert weden
- Es bedeutet die Ziffer 0 kommt im Suchstring 3 x führend vor, dann an den weiteren 7 Stellen die Ziffern 0 bis 9.
[0]{3}[0-9]{7}
Ausschnitt aus der Fundstellenliste
Beispiel aus SAP-Hilfe
Prüfung: Gibt es ein Wort, was mit “H” beginnt, dann entweder den Buchstaben “a”, “e” oder “u” hat und dann mit “llo” schließt.
Pattern Text Match H[aeu]llo Hallo X H[aeu]llo Hello X H[aeu]llo Hullo X H[aeu]llo Hollo -
Einzelzeichenmuster
Zeichenfolgenmuster
Vereinfachte reguläre Ausdrücke (Klasse CL_ABAP_REGEX)
- Eine einfachere Syntax ist möglich, wenn man sich der Klasse CL_ABAP_REGEX bedient.
- https://help.sap.com/doc/abapdocu_752_index_htm/7.52/de-DE/abenregex_simple.htm