Ansicht
Dokumentation

ABAPFIND_PATTERN - FIND PATTERN

ABAPFIND_PATTERN - FIND PATTERN

Vendor Master (General Section)   BAL_S_LOG - Application Log: Log header data  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

FIND, pattern

Kurzreferenz



...  ${$[SUBSTRING$] substring$} $| ${PCRE pcre$}$|${REGEX regex_ref$} ... .

Varianten:

1. ... $[SUBSTRING$] substring.

2. ... ${PCRE pcre$}$|${REGEX regex_ref$}

Wirkung

Definition eines Suchmusters für die Anweisungen FIND und FIND IN TABLE. Es kann entweder exakt nach einer Unterfolge substring oder nach einer Unterfolge, die zu einem regulären Ausdruck hinter PCRE oder REGEX passt, gesucht werden.

Hinweis

Die Anweisungen REPLACE und REPLACE IN TABLE verwenden das gleiche Suchmuster.

Variante 1

... $[SUBSTRING$] substring.


Wirkung

In dieser Variante wird nach dem exakten Vorkommen einer in einem zeichen- bzw. byteartigen Operanden substring angegebenen Unterfolge gesucht. Bei substring handelt es sich um eine zeichenartige Ausdrucksposition Die Angabe des Wortes SUBSTRING dient der Verdeutlichung und ist optional.

Wenn substring entweder ein leerer String ist oder vom Typ c, n, d oder t und nur Leerzeichen enthält, wird eine leere Unterfolge gesucht. Dies ist nur beim Suchen nach dem ersten Vorkommen möglich und die leere Unterfolge wird immer vor dem ersten Zeichen bzw. Byte gefunden. Bei der Zeichenkettenverarbeitung werden bei Datenobjekten substring fester Länge die schließenden Leerzeichen nicht berücksichtigt.

Hinweis

Sollen schließende Leerzeichen in der Unterfolge berücksichtigt werden, muss substring vom Datentyp string sein.

Beispiel

Suche sämtlicher Vorkommen der Folge "now" in einem Textstringliteral. Die Offsets 11 und 24 der beiden Fundstellen werden ausgegeben.

Beispiel

Suche sämtlicher Vorkommen der Folge "now" in einem Textstringliteral mit Hilfe einer WHILE-Schleife. Nach jeder erfolgreichen Suche wird der Suchbereich neu hinter der Fundstelle definiert. Auf diese Art konnten auch vor Einführung des Zusatzes ALL OCCURRENCES alle Vorkommen des Suchmusters gefunden werden.

Variante 2

... ${PCRE pcre$}$|${REGEX regex_ref$}


Wirkung

In dieser Variante wird nach einer Übereinstimmung mit einem in pcre oder regex_ref angegebenen regulären Ausdruck gesucht.

  • Mit dem Zusatz PCRE kann für pcre ein zeichenartiger Operand verwendet werden, der einen gültigen regulären POSIX-Ausdruck enthält. Die PCRE-Syntax wird in einem erweiterten Modus kompiliert: Die meisten nicht maskierten Leerräume (Leerzeichen und Zeilenumbrüche) im Muster werden außerhalb von Zeichenklassen ignoriert und Kommentare können hinter # angegeben werden. Bevor Leerräume und # in einem Muster angegeben werden können, müssen sie maskiert werden oder der erweiterte Modus muss im regulären Ausdruck durch (?-x) ausgeschaltet werden.

pcre ist eine zeichenartige Ausdrucksposition.

Bei der Suche mit einem regulären Ausdruck können spezielle Suchmuster angegeben werden, die u.a. Vorausschau-Bedingungen erlauben.

Eine leere Zeichenfolge in pcre ist kein gültiger regulärer Ausdruck und führt zu einer Ausnahme. Eine leere Zeichenfolge liegt vor, wenn pcre entweder ein leerer String ist oder vom Typ c, n, d oder t und nur Leerzeichen enthält.

Hinweise

  • Instanzen von CL_ABAP_REGEX für alle Arten von regulären Ausdrücken, PCRE, XPath, XSD, und POSIX (obsolet) können mit dem Zusatz REGEX verwendet werden. Hier wird die Einschränkung umgangen, wobei reguläre Ausdrücke im XPath- und XSD-Syntax nicht direkt als Zeichenketten angegeben werden können.
  • Bei Verwendung von CL_ABAP_REGEX kann der erweiterte Modus über einen Parameter für reguläre PCRE- und XPath-Ausdrücke geschaltet werden.
  • Es gibt nicht-leere reguläre Ausdrücke wie a*, mit denen nach leeren Zeichenfolgen gesucht wird. Dies ist bei der Suche nach dem ersten und nach allen Vorkommen möglich. Die entsprechenden leeren Unterfolgen werden vor dem ersten Zeichen, zwischen allen Zeichen und hinter dem letzten Zeichen des Suchbereichs gefunden. Eine solche Suche ist immer erfolgreich.
  • Hinter REGEX kann auch ein zeichenartiger Operand posix angegeben werden, die einen gültigen regulären POSIX-Ausdruck enthält. Diese Variante ist obsolet.

Beispiel

Die Suche verwendet die Syntax des regulären PCRE-Ausdrucks und findet 'ab' ab dem Offset 3.






BAL_S_LOG - Application Log: Log header data   Addresses (Business Address Services)  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 8209 Date: 20240420 Time: 044320     sap01-206 ( 116 ms )