Zum Hauptinhalt wechseln
Workday User Guide
Zuletzt aktualisiert: 2023-06-23
REGEX

REGEX

Beschreibung

REGEX
ist eine Zeilenfunktion, die einen Abgleich ganzer Zeichenfolgen mit durchführt
TEXT
-Wert mit einem regulären Ausdruck und gibt den Teil der Zeichenfolge zurück, der mit der ersten Erfassungsgruppe des regulären Ausdrucks übereinstimmt.

Syntax

REGEX
(
string_expression
,"
regex_matching_pattern
")

Rückgabewert

Gibt den übereinstimmenden Wert zurück
TEXT
-Wert der ersten Erfassungsgruppe des regulären Ausdrucks. Wenn es keine Übereinstimmung gibt, wird zurückgegeben
NULL
.

Eingabeparameter

string_expression
Erforderliche Inhalte. Der Name eines Felds oder Ausdrucks der Art "".
TEXT
(oder eine wörtliche Zeichenfolge).
regex_matching_pattern
Erforderliche Inhalte. Ein reguläres Ausdrucksmuster, das auf der Mustersyntax regulärer Ausdrücke der Programmiersprache Java basiert. Um einen Wert ungleich NULL zurückzugeben, muss das Muster des regulären Ausdrucks mit dem gesamten Wert übereinstimmen
TEXT
-Wert

Reguläre Ausdruckskonstruen

In der Referenz zu regulären Ausdrücken finden Sie Informationen zu den Konstrukten, die zum Definieren eines Abgleichmusters für reguläre Ausdrücke verwendet werden.

Erfassende und nicht erfassende Gruppen

Gruppen werden durch Klammern um ein Untermuster im regulären Ausdruck angegeben. Ein Muster kann mehr als eine Gruppe haben und die Gruppen können verschachtelt sein. Die Gruppen sind von links nach rechts mit 1-
n
nummeriert, beginnend mit der ersten öffnenden Klammer. Es gibt immer eine implizite Gruppe "0", die die gesamte Übereinstimmung enthält. Beispiel: Das Muster:
(a(b*))+(c)
enthält drei Gruppen:
group 1: (a(b*)) group 2: (b*) group 3: (c)
Erfassungsgruppen
Standardmäßig
erfasst
eine Gruppe den Text, der eine Übereinstimmung generiert, und es wird nur die letzte Übereinstimmung erfasst. Die
REGEX
Die -Funktion gibt die Zeichenfolge zurück, die mit der ersten Erfassungsgruppe im regulären Ausdruck übereinstimmt. Beispiel: Die Eingabezeichenfolge für den obigen Ausdruck lautet
abc
, die gesamte
REGEX
Funktion würde mit übereinstimmen
abc
, gibt aber nur das Ergebnis von Gruppe 1 zurück
ab
.
Nicht erfassende Gruppen
In einigen Fällen möchten Sie möglicherweise Klammern verwenden, um Untermuster zu gruppieren, aber keinen Text zu erfassen. Eine Gruppe ohne Erfassung beginnt mit
(?:
(Fragezeichen und Doppelpunkt nach der öffnenden Klammer.) Beispiel:
h(?:a|i|o)t
Übereinstimmungen
hat
oder
hit
oder
hot
, erfasst jedoch nicht
a
,
i
, oder
o
aus dem Unterausdruck.

Beispiele

Gleichen Sie alle möglichen E-Mail-Adressen mit dem Muster
Benutzername
@
Anbieter ab
. Die
folgenden
Domänen
werden zurückgegeben
:
REGEX([email], "^[a-zA-Z0-9._%+-]+@
([a-zA-Z0-9._-]+)
\.[a-zA-Z]{2,4}$")
Gleichen Sie die Anforderungszeile eines Webprotokolls ab, wobei der Wert folgendem Format entspricht:
GET /some_page.html HTTP/1.1
und geben nur die angeforderten HTML-Seitennamen zurück:
REGEX([weblog_request_line], "GET\s/
([a-zA-Z0-9._%-]+\.[html])
\sHTTP/[0-9.]+")
Extrahieren Sie den Zoll-Anteil aus a
height
Feld "", in dem sich Beispielwerte befinden
6'2"
,
5'11"
(Beachten Sie, dass das wörtliche Anführungszeichen durch ein doppeltes Anführungszeichen maskiert wird):
REGEX([height], "\d\'(\d)+""")
Extrahieren Sie den gesamten Inhalt von
device
Feld "" wenn der Wert entweder ist
iPod
,
iPad
, oder
iPhone
:
REGEX([device], "(iP[ao]d|iPhone)")