extract()

Şunlar için geçerlidir: ✅Microsoft Fabric✅Azure Veri Gezgini Azure İzleyiciMicrosoft Sentinel

Bir kaynak dizeden normal ifade için eşleşme alın.

İsteğe bağlı olarak, ayıklanan alt dizeyi belirtilen türe dönüştürün.

Sözdizimi

extract(regex, captureGroup, kaynağı [, typeLiteral])

Söz dizimi kuralları hakkında daha fazla bilgi edinin.

Parametreler

Ad Tür Zorunlu Açıklama
regex string ✔️ Normal ifade.
captureGroup int ✔️ Ayıklanması gereken yakalama grubu. 0, tüm eşleşme için, normal ifadedeki ilk '('parantez')' ile eşleşen değer için 1 ve sonraki parantezler için 2 veya daha fazla değer anlamına gelir.
source string ✔️ Aranacak dize.
typeLiteral string Sağlanırsa, ayıklanan alt dize bu türe dönüştürülür. Örneğin, typeof(long).

Döndürülenler

Regex kaynakta bir eşleşme bulursa: belirtilen yakalama grubu captureGroup ile eşleşen alt dize isteğe bağlı olarak typeLiteral'a dönüştürülür.

Eşleşme yoksa veya tür dönüştürmesi başarısız olursa: null.

Örnekler

Örnek dize Trace için Durationbir tanım arandı. Eşleşme değerine dönüştürülürreal, ardından türü olacak şekilde Duration timespanbir zaman sabiti (1s) ile çarpılır. Bu örnekte 123,45 saniyeye eşittir:

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

Bu örnek ile substring(Text, 2, 4)eşdeğerdir:

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