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

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}

RegularExp1.JPG


Ausschnitt aus der Fundstellenliste

RegularExp2.JPG

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)

Web-Links