extract()
從來源字串取得規則運算式的相符項目。
(選擇性) 將所擷取的子字串轉換為指定的類型。
語法
extract(
regex,
captureGroup,
source [,
typeLiteral])
深入瞭解 語法慣例。
參數
名稱 | 類型 | 必要 | Description |
---|---|---|---|
RegEx | string |
✔️ | 正則表達式。 |
captureGroup | int |
✔️ | 要擷取的擷取群組。 0 代表整個比對,1 代表正則表達式中第一個 『 (』括弧『) 』 比對的值,而後續括弧則為 2 或更多。 |
source | string |
✔️ | 要搜尋的字串。 |
typeLiteral | string |
若提供了此數值,擷取的 substring 將會轉換為此型別。 例如: typeof(long) 。 |
傳回
如果 regex 在 source 中找到相符項目︰針對指定的擷取群組 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)
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應