extract_all()
從來源字串取得規則運算式的所有相符項目。 選擇性地擷取相符群組的子集。
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,
] source)
深入瞭解 語法慣例。
參數
名稱 | 類型 | 必要 | Description |
---|---|---|---|
RegEx | string |
✔️ | 規則運算式,包含 1 到 16 個擷取群組。 |
captureGroups | dynamic |
陣列,表示要擷取的擷取群組。 有效值從 1 到規則運算式中的擷取群組數目。 也允許具名擷取群組。 請參閱 範例。 | |
source | string |
✔️ | 要搜尋的字串。 |
傳回
- 如果 regex 在 source 中找到相符項目:傳回動態陣列,包括 regex 中所指出擷取群組 captureGroups 或所有擷取群組的所有相符項目。
- 如果 captureGroups 數目為1:傳回的陣列具有相符值的單一維度。
- 如果 captureGroups 數目超過 1:傳回的陣列是每個 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"]] |
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應