Freigeben über


extract()

Gilt für: ✅Microsoft Fabric✅Azure Data ExplorerAzure MonitorMicrosoft Sentinel

Ruft eine Übereinstimmung für einen regulären Ausdruck aus einer Quellzeichenfolge ab.

Konvertiert optional die extrahierte Teilzeichenfolge in den angegebenen Typ.

Syntax

extract(regex, captureGroup, source [, typeLiteral])

Erfahren Sie mehr über Syntaxkonventionen.

Parameter

Name Type Erforderlich Beschreibung
regex string ✔️ Ein regulärer Ausdruck.
captureGroup int ✔️ Die zu extrahierende Erfassungsgruppe. 0 steht für die gesamte Übereinstimmung, 1 für den Wert, der mit der ersten "('Klammer')" im regulären Ausdruck übereinstimmt, und 2 oder mehr für nachfolgende Klammern.
Quelle string ✔️ Die zu durchsuchende Zeichenfolge.
typeLiteral string Die extrahierte Teilzeichenfolge wird, sofern angegeben, in diesen Typ konvertiert. Beispiel: typeof(long).

Gibt zurück

Wenn mit regex eine Übereinstimmung in source gefunden wird: die mit der angegebenen Erfassungsgruppe captureGroup abgeglichene Teilzeichenfolge, optional konvertiert in typeLiteral.

Wenn keine Übereinstimmung vorhanden ist oder bei der Typkonvertierung ein Fehler auftritt: null.

Beispiele

Die Beispielzeichenfolge Trace wird nach einer Definition für Duration durchsucht. Die Übereinstimmung wird in real konvertiert und dann mit einer Zeitkonstanten (1s) multipliziert, damit Duration den Typ timespan erhält. In diesem Beispiel beträgt er 123,45 Sekunden:

T
| extend Trace="A=1, B=2, Duration=123.45, ..."
| extend Duration = extract("Duration=([0-9.]+)", 1, Trace, typeof(real)) * time(1s) 

Dieses Beispiel entspricht substring(Text, 2, 4):

extract("^.{2,2}(.{4,4})", 1, Text)