共用方式為


extract()

適用於:✅Microsoft網狀架構Azure 數據✅總管 Azure 監視器✅Microsoft Sentinel

從來源字串取得正則表達式相符專案。

或者,將擷取的子字串轉換成指定的類型。

語法

extract(regex captureGroup, 來源 [, typeLiteral],)

深入瞭解 語法慣例

參數

姓名 類型​​ 必要 描述
regex string ✔️ 則表達式
captureGroup int ✔️ 要擷取的擷取群組。 0 代表整個比對,1 代表正則表達式中第一個 '('括弧')' 所比對的值,2 或更多代表後續括弧。
source string ✔️ 要搜尋的字串。
typeLiteral string 若提供了此數值,擷取的 substring 將會轉換為此型別。 例如: typeof(long)

傳回

如果 regex 在來源尋找相符專案:與指定的擷取群組 captureGroup 相符的子字串,則選擇性地轉換成 typeLiteral

如果沒有相符專案,或類型轉換失敗: null

範例

搜尋範例字串Trace的定義。Duration 比對會轉換成 real,然後將它乘以時間常數 (1s), Duration 使 類型為 timespan。 在此範例中,它等於123.45秒:

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

這個範例相當於 substring(Text, 2, 4)

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