extract()

Pobieranie dopasowania dla wyrażenia regularnego z ciągu źródłowego.

Opcjonalnie przekonwertuj wyodrębniony podciąg na wskazany typ.

Składnia

extract(źródło regex,captureGroup, [,typeLiteral])

Dowiedz się więcej na temat konwencji składni.

Parametry

Nazwisko Type Wymagania opis
Regex string ✔️ Wyrażenie regularne.
captureGroup int ✔️ Grupa przechwytywania do wyodrębnienia. 0 oznacza całe dopasowanie, 1 dla wartości dopasowanej przez pierwszy "('nawias')" w wyrażeniu regularnym i 2 lub więcej dla kolejnych nawiasów.
source string ✔️ Ciąg do wyszukania.
typeLiteral string Jeśli zostanie podany, wyodrębniony podciąg zostanie przekonwertowany na ten typ. Na przykład typeof(long).

Zwraca

Jeśli wyrażenie regularne znajdzie dopasowanie w źródle: podciąg dopasowany do wskazanej grupy przechwytywania grupy przechwytywania, opcjonalnie przekonwertowany na typeLiteral.

Jeśli nie ma dopasowania lub konwersja typu zakończy się niepowodzeniem: null.

Przykłady

Przykładowy ciąg Trace jest wyszukiwany pod kątem definicji .Duration Dopasowanie jest konwertowane na real, a następnie mnożone przez stałą czasu (1s), tak aby Duration był typu timespan. W tym przykładzie jest to równe 123,45 sekund:

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

Ten przykład jest odpowiednikiem elementu substring(Text, 2, 4):

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