extract()

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 Typ 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 durch die erste "('Klammer')" im regulären Ausdruck übereinstimmt, und 2 oder mehr für nachfolgende Klammern.
source string ✔️ Die zu durchsuchende Zeichenfolge.
typeLiteral string Die extrahierte Teilzeichenfolge wird, sofern angegeben, in diesen Typ konvertiert. Beispiel: typeof(long).

Rückgabe

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 entspricht dies 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)