re.capture
re.capture(stringText, regex)
Beschreibung
Erfasst (extrahiert) Daten aus einem String mithilfe des im Argument angegebenen Musters für reguläre Ausdrücke.
Diese Funktion akzeptiert zwei Argumente:
stringText
: Der ursprüngliche String, in dem gesucht werden soll.regex
: Der reguläre Ausdruck, der das Suchmuster angibt.
Der reguläre Ausdruck kann 0 oder 1 Erfassungsgruppen in Klammern enthalten. Wenn der reguläre Ausdruck keine Erfassungsgruppen enthält, gibt die Funktion den ersten gesamten übereinstimmenden Teilstring zurück. Wenn der reguläre Ausdruck eine Erfassungsgruppe enthält, wird der erste übereinstimmende Teilstring für die Erfassungsgruppe zurückgegeben. Wenn Sie zwei oder mehr Erfassungsgruppen definieren, wird ein Compilerfehler zurückgegeben.
Parameterdatentypen
STRING
, STRING
Rückgabetyp
STRING
Codebeispiele
Beispiel 1
Wenn $e.principal.hostname
in diesem Beispiel „aaa1bbaa2“ enthält, ist Folgendes wahr, da die Funktion die erste Instanz zurückgibt. Dieses Beispiel enthält keine Erfassungsgruppen.
"aaa1" = re.capture($e.principal.hostname, "a+[1-9]")
Beispiel 2
In diesem Beispiel wird alles nach dem @-Symbol in einer E-Mail erfasst. Wenn das Feld $e.network.email.from
test@google.com
ist, wird im Beispiel google.com
zurückgegeben. Das folgende Beispiel enthält eine Erfassungsgruppe.
"google.com" = re.capture($e.network.email.from , "@(.*)")
Beispiel 3
Wenn der reguläre Ausdruck mit keinem Teilstring im Text übereinstimmt, gibt die Funktion einen leeren String zurück. Sie können Ereignisse ohne Übereinstimmung auslassen, indem Sie den leeren String ausschließen. Das ist besonders wichtig, wenn Sie re.capture()
mit einer Ungleichung verwenden:
// Exclude the empty string to omit events where no match occurs.
"" != re.capture($e.network.email.from , "@(.*)")
// Exclude a specific string with an inequality.
"google.com" != re.capture($e.network.email.from , "@(.*)")