extract_all()
Platí pro: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
Získá všechny shody regulárního výrazu ze zdrojového řetězce. Volitelně můžete načíst podmnožinu odpovídajících skupin.
print extract_all(@"(\d+)", "a set of numbers: 123, 567 and 789") // results with the dynamic array ["123", "567", "789"]
Zastaralé aliasy: extractall()
Syntaxe
extract_all(
zdroj regex [captureGroups,
] ,
)
Přečtěte si další informace o konvencích syntaxe.
Parametry
Název | Type | Požadováno | Popis |
---|---|---|---|
regex | string |
✔️ | Regulární výraz obsahující jednu až 16 skupin zachycení. |
captureGroups | dynamic |
Pole označující skupiny zachycení, které se mají extrahovat. Platné hodnoty jsou od 1 do počtu zachycených skupin v regulárním výrazu. Pojmenované skupiny zachycení jsou také povolené. Podívejte se na příklady. | |
source | string |
✔️ | Řetězec, který se má prohledávat. |
Návraty
- Pokud regulární výraz najde shodu ve zdroji: Vrátí dynamické pole včetně všech shod oproti uvedeným skupinám zachycení skupin captureGroups nebo všech zachytávání skupin v regulárním výrazu.
- Pokud je počet captureGroups 1: Vrácená matice má jednu dimenzi odpovídajících hodnot.
- Pokud je počet captureGroups větší než 1: Vrácená matice je dvourozměrná kolekce s více hodnotami pro výběr skupiny captureGroups nebo všechny skupiny zachycení, které jsou přítomné v regulárním výrazu, pokud je funkce captureGroups vynechána.
- Pokud neexistuje žádná shoda:
null
.
Příklady
Extrahování jedné skupiny zachycení
Následující dotaz vrátí šestnáctkové vyjádření (dvě šestnáctkové číslice) identifikátoru GUID.
print Id="82b8be2d-dfa7-4bd1-8f63-24ad26d31449"
| extend guid_bytes = extract_all(@"([\da-f]{2})", Id)
Výstup
ID | guid_bytes |
---|---|
82b8be2d-dfa7-4bd1-8f63-24ad26d31449 | ["82","b8","be","2d","df","a7","4b","d1","8f","63","24","ad","26","d3","14","49"] |
Extrahování několika skupin zachycení
Následující dotaz používá regulární výraz se třemi zachytáváním skupin k rozdělení každé části GUID na první písmeno, poslední písmeno a cokoli je uprostřed.
print Id="82b8be2d-dfa7-4bd1-8f63-24ad26d31449"
| extend guid_bytes = extract_all(@"(\w)(\w+)(\w)", Id)
Výstup
ID | guid_bytes |
---|---|
82b8be2d-dfa7-4bd1-8f63-24ad26d31449 | [["8","2b8be2","d"],["d","fa","7"],["4","bd","1"],["8","f6";"3"],["2";"4ad26d3144","9"]] |
Extrahování podmnožina skupin zachycení
Následující dotaz vybere podmnožinu zachytávání skupin.
Regulární výraz odpovídá prvnímu písmenu, poslednímu písmenu a všem ostatním.
Parametr captureGroups slouží k výběru pouze první a poslední části.
print Id="82b8be2d-dfa7-4bd1-8f63-24ad26d31449"
| extend guid_bytes = extract_all(@"(\w)(\w+)(\w)", dynamic([1,3]), Id)
Výstup
ID | guid_bytes |
---|---|
82b8be2d-dfa7-4bd1-8f63-24ad26d31449 | [["8","d"],["d";"7"],["4";"1"],["8","3"],["2";"9"]] |
Použití pojmenovaných skupin zachycení
Skupiny captureGroup v následujícím dotazu používají indexy skupiny zachycení a pojmenované odkazy na skupinu zachycení k načtení odpovídajících hodnot.
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)
Výstup
ID | guid_bytes |
---|---|
82b8be2d-dfa7-4bd1-8f63-24ad26d31449 | [["8","2b8be2","d"],["d","fa","7"],["4","bd","1"],["8","f6";"3"],["2";"4ad26d3144","9"]] |