extract_all()

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ällkod)

Läs mer om syntaxkonventioner.

Parametrar

Namn Typ Obligatorisk 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 avbildningsgrupper i det reguljära uttrycket. Namngivna avbildningsgrupper tillåts också. Se exempel.
Källkod string ✔️ Strängen som ska sökas.

Returer

  • Om regex hittar en matchning i källan: Returnerar dynamisk matris inklusive alla matchningar mot angivna avbildningsgrupper captureGroups eller alla avbildningsgrupper 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

Extrahera en enda avbildningsgrupp

Följande fråga returnerar 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 guid_bytes
82b8be2d-dfa7-4bd1-8f63-24ad26d31449 ["82","b8","be","2d","df","a7","4b","d1","8f","63","24","ad","26","d3","14","49"]

Extrahera flera avbildningsgrupper

Följande fråga använder ett reguljärt uttryck med tre grupper som samlar in för att dela upp varje GUID-del i första bokstaven, sista bokstaven och vad som än finns i mitten.

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

Resultat

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

Extrahera en delmängd av insamlingsgrupper

Följande fråga väljer en delmängd av grupper.

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 guid_bytes
82b8be2d-dfa7-4bd1-8f63-24ad26d31449 [["8","d"],["d","7"],["4","1"],["8","3"],["2","9"]]

Använda namngivna avbildningsgrupper

CaptureGroups i följande fråga använder både avbilda gruppindex och namngivna avbildningsgruppsreferenser 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 guid_bytes
82b8be2d-dfa7-4bd1-8f63-24ad26d31449 [["8","2b8be2","d"],["d","fa","7"],["4","bd","1"],["8","f6","3"],["2","4ad26d3144","9"]]