extract_all()

Přepněte služby pomocí rozevíracího seznamu Verze . Přečtěte si další informace o navigaci.
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 Typ 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.
zdroj 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

Následující příklad extrahuje jeden zachytávání skupin a vrací š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"]

Následující příklad 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"]]

Následující příklad vybere podmnožinu zachycených 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"]]

Následující příklad ukazuje, jak captureGroups používá 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"]]