Aracılığıyla paylaş


extract()

Sürüm açılan listesini kullanarak hizmetler arasında geçiş yapın. Gezinti hakkında daha fazla bilgi edinin.
Ş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.
kaynak 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

Aşağıdaki örnek dizeden kullanıcı adını, e-postayı, yaşı ayıklar. Normal ifade, bilgileri ayıklamak için kullanılır.

Sorgu çalıştırma

let _data = datatable(Text: string)
[
"User: James, Email: James@example.com, Age: 29",
"User: David, Age: 35"
];
_data |
extend UserName = extract("User: ([^,]+)", 1, Text),
       EmailId = extract(@"Email: (\S+),", 1, Text),
       Age = extract(@"\d+", 0, Text)

çıkış

Metin UserName EmailId Age
Kullanıcı: James, E-posta: James@example.com, Yaş: 29 James James@example.com 29
Kullanıcı: David, Yaş: 35 David 35

Aşağıdaki örnek dizeden Dates ayı ayıklar ve tarih dizesini ve ay değerini int türü olarak içeren bir tablo döndürür.

Sorgu çalıştırma

let Dates = datatable(DateString: string)
[
    "15-12-2024",
    "21-07-2023",
    "10-03-2022"
];
Dates
| extend Month = extract(@"-(\d{2})-", 1, DateString, typeof(int))
| project DateString, Month

çıkış

DateString Month
15-12-2024 12
21-07-2023 7
10-03-2022 3