extract()

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

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

Składnia

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

Dowiedz się więcej o konwencjach składniowych.

Parametry

Nazwa Typ Wymagane Opis
Regex string ✔️ Wyrażenie regularne.
captureGroup int ✔️ Grupa przechwytywania do wyodrębnienia. 0 oznacza cały mecz, 1 dla wartości dopasowanej przez pierwszą "('nawiasy')" w wyrażeniu regularnym i 2 lub więcej dla kolejnych nawiasów.
Źródła string ✔️ Ciąg do wyszukania.
typeLiteral string Jeśli zostanie podana, wyodrębnione podciągnie zostanie przekonwertowane 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 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 elementu Duration. Dopasowanie jest konwertowane na realwartość , a następnie mnożone przez stałę czasową (1s), tak aby Duration był to typ 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)