powered by CADENAS

Manual

Manual

16.3. Reguläre Ausdrücke

Mit regulären Ausdrücken können bestimmte Bestandteile eines Spaltenwertes über Zeichenkombinationen angesprochen werden.

Beispiel:

Die Spaltenwerte der Variable Normnummer bestehen aus komplexen Zeichenketten (z.B. “xyz DIN 174jdfjd”). Innerhalb dieser Zeichenketten „verbergen“ sich - an verschiedenen Stellen - die Ausdrücke für die Normnummer in den PARTdataManager-Tabellen (“DIN 174“). Um die Spaltenwerte von Textdatei und Tabelle miteinander vergleichen zu können, müssen die betreffenden Ausdrücke aus den Zeichenketten „extrahiert“ werden.

Lösung:

Ausdruck “DIN [0-9] * “.

Damit filtern Sie folgenden String heraus: “DIN“, gefolgt von einem Leerzeichen und einer Zahl. Die Zahl besteht aus den Ziffern 0 bis 9, die beliebig oft in dieser Zahl vorkommen können.

Verwendete Zeichen im Zusammenhang mit regulären Ausdrücken:

Zeichen in regulären Ausdrücken

Erklärung

* (Stern)

Das Zeichen bzw. die Zeichenkette links des Sterns kann/können beliebig oft oder gar nicht vorkommen.

+ (Plus)

Das Zeichen bzw. die Zeichenkette links des Pluszeichens kann/können beliebig oft, zumindest jedoch 1x vorkommen.

? (Fragezeichen)

Das Zeichen bzw. die Zeichenkette links des Fragezeichens kann/können entweder 1x oder keinmal vorkommen.

. (Punkt)

Der Punkt steht für ein beliebiges Zeichen, das 1x vorkommt.

[^] (Haube mit Klammern)

Zeichen innerhalb der Klammern und hinter der Haube sind ausgeschlossen.

^ (Haube ohne Klammern)

Zeichen, denen eine Haube vorangestellt ist, müssen am Anfang einer Zeichenkette stehen.

$ (Dollarzeichen)

Zeichen, denen ein Dollarzeichen folgt, müssen am Ende einer Zeichenkette stehen.

\ (Backslash)

Ein Backslash vorangestellt hebt die Funktion von Zeichen in regulären Ausdrücken auf.

Mögliche Reguläre Ausdrücke:

Grundlage sei die Zeichenkette ABCXYZDEF

Ausdruck

Erklärung

Beispiel

XYZ

Liest X und Z , sowie den definierten Ausdruck zwischen X und Z aus.

ABC XYZDEF

X . Z

Liest X und Z , sowie beliebiges Zeichen zwischen X und Z aus.

ABC XAZDEF

ABC XeZDEF

ABC X4ZDEF

usw.

X .* Z

Liest X und Z , sowie beliebiges Zeichen (beliebig oft vorkommend) oder kein Zeichen zwischen X und Z aus.

ABC XZDEF

ABC XAZDEF

ABC XApZDEF

usw.

X .+ Z

Liest X und Z , sowie beliebiges Zeichen (beliebig oft, aber mindestens einmal vorkommend) zwischen X und Z aus.

ABC XAZDEF

ABC XrGZDEF

usw.

X .? Z

Liest X und Z , sowie ein beliebiges oder kein Zeichen zwischen X und Z aus.

ABC XZDEF

ABC XAZDEF

ABC X8ZDEF

usw.

XA + Z

Liest X und Z , sowie A (beliebig oft, aber mindestens einmal vorkommend) zwischen X und Z aus.

ABC XAZDEF

ABC XAAZDEF

ABC XAAAZDEF

usw.

XA ? Z

Liest X und Z , sowie A einmal oder keinmal zwischen X und Z aus.

ABC XZDEF

ABC XAZDEF

X[AB] * Z

Liest X und Z , sowie beliebige Kombinationen vonAund B oder kein Zeichen zwischen X und Z aus.

ABC XZDEF

ABC XAZDEF

ABC XBZDEF

ABC XABZDEF

ABC XBAZDEF

ABC XAAZDEF

ABC XBBZDEF

ABC XABAZDEF

ABC XBBAABAZDEF

usw.

X[ ^ AB]Z

Liest X und Z, sowie beliebige Zeichenkombinationen zwischen X und Z aus, mit Ausnahme der Zeichen A und B .

ABC XAB ZDEF

Ausdruck

Erklärung

Beispiel

X[A-C]Z

Liest X und Z, sowie entweder A, B oder C zwischen X und Z aus.

ABC XAZDEF

ABC XBZDEF

ABC XCZDEF

X[0-9] * Z

Liest X und Z , sowie beliebige Zahlenkombinationen oder kein Zeichen zwischen X und Z aus.

ABC XZDEF

ABC X0ZDEF

ABC X1ZDEF

ABC X6372ZDEF

usw.

X[A-Z][a-z] * Z

Liest X und Z , sowie String, beginnend mit einem Großbuchstaben und weiterführend mit Kleinbuchstaben (beliebig oft vorkommend) oder kein Zeichen zwischen X und Z aus.

ABC XZDEF

ABC XAZDEF

ABC XAaZDEF

ABC XAgsagZDEF

ABC XBZDEF

usw.

^ ABC

Liest definierten Ausdruck aus, wenn dieser am Anfang der Zeichenkette steht.

ABCXYZDEF

Nicht bei:

XABCZDEF

ABC $

Liest definierten Ausdruck aus, wenn dieser am Ende der Zeichenkette steht.

XYZDEF ABC

Nicht bei:

ABCXYZDEF

X \. Z

Hebt die Funktion des Punktes innerhalb des regulären Ausdrucks auf, damit kann auch ein Punkt ( $ , ^ , usw. und auch der Backslash selbst!) aus einer Zeichenkette ausgelesen werden.

ABCX . ZDEF