extract_all()
適用於:✅Microsoft網狀架構✅Azure 數據✅總管 Azure 監視器✅Microsoft Sentinel
從來源字串取得正則表達式的所有相符專案。 或者,擷取相符群組的子集。
print extract_all(@"(\d+)", "a set of numbers: 123, 567 and 789") // results with the dynamic array ["123", "567", "789"]
已被取代的別名: extractall()
語法
extract_all(
regex,
[captureGroups,
] 來源)
深入瞭解 語法慣例。
參數
姓名 | 類型 | 必要 | 描述 |
---|---|---|---|
regex | string |
✔️ | 正則表達式,包含介於一到16個擷取群組之間。 |
captureGroups | dynamic |
陣列,表示要擷取的擷取群組。 有效值從 1 到正則表示式中的擷取群組數目。 也允許具名擷取群組。 請參閱 範例。 | |
source | string |
✔️ | 要搜尋的字串。 |
傳回
- 如果 regex 在來源中尋找相符專案:傳回動態數位,包括針對指定的擷取群組擷取群組擷取群組的所有相符專案,或 regex 中的所有擷取群組。
- 如果 captureGroups 的數目為 1:傳回的陣列具有相符值的單一維度。
- 如果 captureGroup 的數目超過 1:如果省略 captureGroups,則傳回的陣列是每個 captureGroups 選取專案多重值相符的二維集合,或如果省略 captureGroups,則出現在 regex 中的所有擷取群組。
- 如果沒有相符專案:
null
。
範例
擷取單一擷
下列查詢會傳回 GUID 的十六進位表示法(兩個十六進位位數)。
print Id="82b8be2d-dfa7-4bd1-8f63-24ad26d31449"
| extend guid_bytes = extract_all(@"([\da-f]{2})", Id)
輸出
識別碼 | guid_bytes |
---|---|
82b8be2d-dfa7-4bd1-8f63-24ad26d31449 | [“82”,“b8”,“be”,“2d”,“df”,“a7”,“4b”,“d1”,“8f”,“63”,“24”,“ad”,“26”,“d3”,“14”,“49”] |
擷取數個
下列查詢會使用具有三個擷取群組的正則表達式,將每個 GUID 部分分割成第一個字母、最後一個字母,以及中間的任何部分。
print Id="82b8be2d-dfa7-4bd1-8f63-24ad26d31449"
| extend guid_bytes = extract_all(@"(\w)(\w+)(\w)", Id)
輸出
識別碼 | guid_bytes |
---|---|
82b8be2d-dfa7-4bd1-8f63-24ad26d31449 | [[“8”,“2b8be2”,“d”],[“d”,“fa”,“7”],[“4”,“bd”,“1”],[“8”,“f6”,“3”],[“2”,“4ad26d3144”,“9”]] |
擷取群組的子集
下列查詢會選取擷取群組的子集。
正則表達式會比對第一個字母、最後一個字母和其餘所有字母。
captureGroups 參數只用來選取第一個和最後一個部分。
print Id="82b8be2d-dfa7-4bd1-8f63-24ad26d31449"
| extend guid_bytes = extract_all(@"(\w)(\w+)(\w)", dynamic([1,3]), Id)
輸出
識別碼 | guid_bytes |
---|---|
82b8be2d-dfa7-4bd1-8f63-24ad26d31449 | [[“8”,“d”],[“d”,“7”],[“4”,“1”],[“8”,“3”],[“2”,“9”]] |
使用具名擷取群組
下列查詢中的 captureGroups 會同時使用擷取群組索引和具名擷取群組參考來擷取比對值。
print Id="82b8be2d-dfa7-4bd1-8f63-24ad26d31449"
| extend guid_bytes = extract_all(@"(?P<first>\w)(?P<middle>\w+)(?P<last>\w)", dynamic(['first',2,'last']), Id)
輸出
識別碼 | guid_bytes |
---|---|
82b8be2d-dfa7-4bd1-8f63-24ad26d31449 | [[“8”,“2b8be2”,“d”],[“d”,“fa”,“7”],[“4”,“bd”,“1”],[“8”,“f6”,“3”],[“2”,“4ad26d3144”,“9”]] |