Delen via


extract_all() (alles_extraheren)

Van toepassing op: ✅Microsoft FabricAzure Data ExplorerAzure MonitorMicrosoft Sentinel

Alle overeenkomsten voor een reguliere expressie ophalen uit een brontekenreeks. U kunt desgewenst een subset van overeenkomende groepen ophalen.

print extract_all(@"(\d+)", "a set of numbers: 123, 567 and 789") // results with the dynamic array ["123", "567", "789"]

Afgeschafte aliassen: extractall()

Syntaxis

extract_all( regex, [captureGroups,] bron)

Meer informatie over syntaxisconventies.

Parameterwaarden

Naam Typologie Verplicht Beschrijving
regex- string ✔️ Een reguliere expressie met tussen één en 16 capture-groepen.
captureGroups dynamic Een matrix die de opnamegroepen aangeeft die moeten worden geëxtraheerd. Geldige waarden zijn van 1 tot het aantal vastleggen van groepen in de reguliere expressie. Benoemde opnamegroepen zijn ook toegestaan. Zie voorbeelden.
bron string ✔️ De tekenreeks die moet worden gezocht.

Retouren

  • Als regex een overeenkomst in de bron vindt: retourneert dynamische matrix, inclusief alle overeenkomsten met de aangegeven capture groups captureGroups of alle vastleggen van groepen in de regex.
  • Als het aantal captureGroups 1 is: de geretourneerde matrix heeft één dimensie van overeenkomende waarden.
  • Als het aantal captureGroups groter is dan 1: de geretourneerde matrix is een tweedimensionale verzameling overeenkomsten met meerdere waarden per captureGroups-selectie of alle capturegroepen die aanwezig zijn in de regex als captureGroups wordt weggelaten.
  • Als er geen overeenkomst is: null.

Voorbeelden

In het volgende voorbeeld wordt één groepsopname geëxtraheerd, waarmee een hex-byteweergave (twee hex-cijfers) van de GUID wordt geretourneerd.

print Id="82b8be2d-dfa7-4bd1-8f63-24ad26d31449"
| extend guid_bytes = extract_all(@"([\da-f]{2})", Id) 

Uitvoer

ID-kaart guid_bytes
82b8be2d-dfa7-4bd1-8f63-24ad26d31449 ["82","b8","be","2d","df","a7","4b","d1","8f","63","24","ad","26","d3","14","49"]

In het volgende voorbeeld wordt een reguliere expressie met drie vastleggende groepen gebruikt om elk GUID-deel te splitsen in de eerste letter, laatste letter en wat er in het midden staat.

print Id="82b8be2d-dfa7-4bd1-8f63-24ad26d31449"
| extend guid_bytes = extract_all(@"(\w)(\w+)(\w)", Id)

Uitvoer

ID-kaart guid_bytes
82b8be2d-dfa7-4bd1-8f63-24ad26d31449 [["8","2b8be2","d"],["d","fa","7"],["4","bd","1"],["8","f6","3"],["2","4ad26d3144","9"]]

In het volgende voorbeeld wordt een subset van het vastleggen van groepen geselecteerd.

De reguliere expressie komt overeen met de eerste letter, laatste letter en alle rest.

De parameter captureGroups wordt gebruikt om alleen de eerste en de laatste onderdelen te selecteren.

print Id="82b8be2d-dfa7-4bd1-8f63-24ad26d31449"
| extend guid_bytes = extract_all(@"(\w)(\w+)(\w)", dynamic([1,3]), Id) 

Uitvoer

ID-kaart guid_bytes
82b8be2d-dfa7-4bd1-8f63-24ad26d31449 [["8","d"],["d","7"],["4","1"],["8","3"],["2","9"]]

In het volgende voorbeeld ziet u hoe captureGroups zowel groepsindexen vastleggen als benoemde capture-groepsverwijzingen gebruikt om overeenkomende waarden op te halen.

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) 

Uitvoer

ID-kaart guid_bytes
82b8be2d-dfa7-4bd1-8f63-24ad26d31449 [["8","2b8be2","d"],["d","fa","7"],["4","bd","1"],["8","f6","3"],["2","4ad26d3144","9"]]