extract_all()

Pobierz wszystkie dopasowania dla wyrażenia regularnego z ciągu źródłowego. Opcjonalnie pobierz podzbiór pasujących grup.

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

Przestarzałe aliasy: extractall()

Składnia

extract_all(Regex, [captureGroups,] Źródła)

Dowiedz się więcej o konwencjach składniowych.

Parametry

Nazwa Typ Wymagane Opis
Regex string ✔️ Wyrażenie regularne zawierające od jednej do 16 grup przechwytywania.
captureGroups dynamic Tablica wskazująca grupy przechwytywania do wyodrębnienia. Prawidłowe wartości to od 1 do liczby przechwytujących grup w wyrażeniu regularnym. Nazwane grupy przechwytywania są również dozwolone. Zobacz przykłady.
Źródła string ✔️ Ciąg do wyszukania.

Zwraca

  • Jeśli wyrażenie regularne znajdzie dopasowanie w źródle: zwraca tablicę dynamiczną, w tym wszystkie dopasowania względem wskazanych grup przechwytywania przechwytywaniaGroups lub wszystkie grupy przechwytywania w regex.
  • Jeśli liczba grup przechwytywania wynosi 1: zwracana tablica ma jeden wymiar dopasowanych wartości.
  • Jeśli liczba grup captureGroups jest większa niż 1: zwracana tablica jest dwuwymiarową kolekcją dopasowań wielowartościowych na wybór grup przechwytywania lub wszystkie grupy przechwytywania obecne w regex , jeśli element captureGroups zostanie pominięty .
  • Jeśli nie ma dopasowania: null.

Przykłady

Wyodrębnianie pojedynczej grupy przechwytywania

Następujące zapytanie zwraca reprezentację szesnastkową (dwie cyfry szesnastkowej) identyfikatora GUID.

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

Dane wyjściowe

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

Wyodrębnianie kilku grup przechwytywania

Poniższe zapytanie używa wyrażenia regularnego z trzema grupami przechwytywania, aby podzielić każdą część identyfikatora GUID na pierwszą literę, ostatnią literę i cokolwiek znajduje się w środku.

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

Dane wyjściowe

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

Wyodrębnianie podzestawu grup przechwytywania

Poniższe zapytanie wybiera podzbiór przechwytywania grup.

Wyrażenie regularne jest zgodne z pierwszą literą, ostatnią literą i resztą.

Parametr captureGroups służy do wybierania tylko pierwszych i ostatnich części.

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

Dane wyjściowe

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

Używanie nazwanych grup przechwytywania

Grupy przechwytywania w poniższym zapytaniu używają zarówno indeksów grup przechwytywania, jak i odwołań do grup przechwytywania nazwanych w celu pobrania pasujących wartości.

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) 

Dane wyjściowe

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