extract()
Şunlar için geçerlidir: ✅Microsoft Fabric✅Azure Veri Gezgini✅ Azure İzleyici✅Microsoft 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 Duration
bir tanım arandı.
Eşleşme değerine dönüştürülürreal
, ardından türü olacak şekilde Duration
timespan
bir 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)