extract()
Gilt für: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft 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)