Dela via


extract_all()

Gäller för: ✅Microsoft FabricAzure Data ExplorerAzure MonitorMicrosoft Sentinel

Hämta alla matchningar för ett reguljärt uttryck från en källsträng. Du kan också hämta en delmängd av matchande grupper.

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

Inaktuella alias: extractall()

Syntax

extract_all( regex, [captureGroups,] källa)

Läs mer om syntaxkonventioner.

Parameterar

Namn Typ Krävs Beskrivning
regex string ✔️ Ett reguljärt uttryck som innehåller mellan en och 16 avbildningsgrupper.
captureGroups dynamic En matris som anger vilka avbildningsgrupper som ska extraheras. Giltiga värden är från 1 till antalet grupper som avbildas i det reguljära uttrycket. Namngivna avbildningsgrupper tillåts också. Se exempel.
källa string ✔️ Strängen som ska sökas.

Retur

  • Om regex hittar en matchning i källan: Returnerar dynamisk matris inklusive alla matchningar mot de angivna insamlingsgrupperna captureGroups eller alla grupper som avbildas i regex.
  • Om antalet captureGroups är 1: Den returnerade matrisen har en enda dimension med matchade värden.
  • Om antalet captureGroups är mer än 1: Den returnerade matrisen är en tvådimensionell samling med flervärdesmatchningar per captureGroups-val , eller alla avbildningsgrupper som finns i regex om captureGroups utelämnas .
  • Om det inte finns någon matchning: null.

Exempel

I följande exempel extraheras en enskild gruppinsamling som returnerar en hex-byte-representation (två hex-siffror) för GUID.

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

Resultat

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

I följande exempel används ett reguljärt uttryck med tre grupper för att dela upp varje GUID-del i första bokstaven, sista bokstaven och det som finns i mitten.

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

Resultat

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

I följande exempel väljs en delmängd av insamlingsgrupper.

Det reguljära uttrycket matchar den första bokstaven, sista bokstaven och resten.

Parametern captureGroups används för att endast välja de första och sista delarna.

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

Resultat

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

I följande exempel visas hur captureGroups använder både avbilda gruppindex och namngivna avbildningsgruppreferenser för att hämta matchande värden.

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) 

Resultat

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