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 übereinstimmenTEXT-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:
und geben nur die angeforderten HTML-Seitennamen zurück:GET /some_page.html HTTP/1.1
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)")