extract_all()extract_all()

Ottenere tutte le corrispondenze per un' espressione regolare da una stringa di testo.Get all matches for a regular expression from a text string. Facoltativamente, recuperare un subset di gruppi corrispondenti.Optionally, retrieve a subset of matching groups.

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

SintassiSyntax

extract_all(espressione regolare , [captureGroups , ] testo)extract_all(regex, [captureGroups,] text)

ArgomentiArguments

ArgomentoArgument DescrizioneDescription Obbligatorio o facoltativoRequired or Optional
regexregex Espressione regolare.A regular expression. L'espressione deve avere almeno un gruppo di acquisizione e minore o uguale a 16 gruppi di acquisizioneThe expression must have at least one capturing group, and less than or equal to 16 capturing groups ObbligatoriaRequired
captureGroupscaptureGroups Costante di matrice dinamica che indica il gruppo Capture da estrarre.A dynamic array constant that indicates the capture group to extract. I valori validi sono compresi tra 1 e il numero di gruppi di acquisizione nell'espressione regolare.Valid values are from 1 to the number of capturing groups in the regular expression. Sono consentiti anche i gruppi Capture denominati (vedere esempi)Named capture groups are allowed as well (See Examples) FacoltativoOptional
testotext Oggetto string in cui eseguire la ricercaA string to search ObbligatoriaRequired

RestituisceReturns

  • Se Regex trova una corrispondenza nel testo: restituisce la matrice dinamica, incluse tutte le corrispondenze con i gruppi di acquisizione indicati captureGroupso tutti i gruppi di acquisizione nell' espressione regolare.If regex finds a match in text: Returns dynamic array including all matches against the indicated capture groups captureGroups, or all of capturing groups in the regex.
  • Se il numero di captureGroups è 1, la matrice restituita ha una singola dimensione di valori corrispondenti.If number of captureGroups is 1: The returned array has a single dimension of matched values.
  • Se il numero di captureGroups è maggiore di 1: la matrice restituita è una raccolta bidimensionale di corrispondenze multivalore per selezione captureGroups oppure tutti i gruppi di acquisizione presenti nell' espressione Regex se captureGroups viene omesso.If number of captureGroups is more than 1: The returned array is a two-dimensional collection of multi-value matches per captureGroups selection, or all capture groups present in the regex if captureGroups is omitted.
  • Se non è presente alcuna corrispondenza: null .If there's no match: null.

EsempiExamples

Estrarre un singolo gruppo CaptureExtract a single capture group

Restituisce la rappresentazione esadecimale in byte (due cifre esadecimali) del GUID.Returns hex-byte representation (two hex-digits) of the GUID.

print Id="82b8be2d-dfa7-4bd1-8f63-24ad26d31449"
| extend guid_bytes = extract_all(@"([\da-f]{2})", Id) 
IDID guid_bytesguid_bytes
82b8be2d-dfa7-4bd1-8f63-24ad26d3144982b8be2d-dfa7-4bd1-8f63-24ad26d31449 ["82", "B8", "be", "2D", "DF", "A7", "4B", "D1", "8F", "63", "24", "ad", "26", "D3", "14", "49"]["82","b8","be","2d","df","a7","4b","d1","8f","63","24","ad","26","d3","14","49"]

Estrai diversi gruppi di acquisizioneExtract several capture groups

Usa un'espressione regolare con tre gruppi di acquisizione per suddividere ogni parte GUID in prima lettera, ultima lettera e qualsiasi elemento al centro.Uses a regular expression with three capturing groups to split each GUID part into first letter, last letter, and whatever is in the middle.

print Id="82b8be2d-dfa7-4bd1-8f63-24ad26d31449"
| extend guid_bytes = extract_all(@"(\w)(\w+)(\w)", Id)
IDID guid_bytesguid_bytes
82b8be2d-dfa7-4bd1-8f63-24ad26d3144982b8be2d-dfa7-4bd1-8f63-24ad26d31449 [["8", "2b8be2", "d"], ["d", "fa", "7"], ["4", "BD", "1"], ["8", "F6", "3"], ["2", "4ad26d3144", "9"]][["8","2b8be2","d"],["d","fa","7"],["4","bd","1"],["8","f6","3"],["2","4ad26d3144","9"]]

Estrarre un subset di gruppi di acquisizioneExtract a subset of capture groups

Viene illustrato come selezionare un subset di gruppi di acquisizione.Shows how to select a subset of capturing groups. L'espressione regolare corrisponde alla prima lettera, all'ultima lettera e a tutti gli altri.The regular expression matches the first letter, last letter, and all the rest. Il parametro captureGroups viene utilizzato per selezionare solo la prima e l'ultima parte.The captureGroups parameter is used to select only the first and the last parts.

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

Uso di gruppi di acquisizione denominatiUsing named capture groups

È possibile usare i gruppi Capture denominati di RE2 in extract_all ().You can use named capture groups of RE2 in extract_all(). CaptureGroups utilizza gli indici del gruppo Capture e il riferimento al gruppo Capture denominato per recuperare i valori corrispondenti.The captureGroups uses both capture group indexes and named capture group reference to fetch matching values.

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) 
IDID guid_bytesguid_bytes
82b8be2d-dfa7-4bd1-8f63-24ad26d3144982b8be2d-dfa7-4bd1-8f63-24ad26d31449 [["8", "2b8be2", "d"], ["d", "fa", "7"], ["4", "BD", "1"], ["8", "F6", "3"], ["2", "4ad26d3144", "9"]][["8","2b8be2","d"],["d","fa","7"],["4","bd","1"],["8","f6","3"],["2","4ad26d3144","9"]]