extract_all()
Dotyczy: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
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(
źródło regex [captureGroups,
] ,
)
Dowiedz się więcej na temat konwencji składni.
Parametry
Nazwisko | Type | Wymagania | opis |
---|---|---|---|
regex | string |
✔️ | Wyrażenie regularne zawierające od jednego do 16 grup przechwytywania. |
captureGroups | dynamic |
Tablica wskazująca grupy przechwytywania do wyodrębnienia. Prawidłowe wartości to od 1 do liczby przechwytywania grup w wyrażeniu regularnym. Nazwane grupy przechwytywania są również dozwolone. Zobacz przykłady. | |
source | string |
✔️ | Ciąg do wyszukania. |
Zwraca
- Jeśli wyrażenie regularne znajdzie dopasowanie w źródle: Zwraca tablicę dynamiczną zawierającą wszystkie dopasowania względem wskazanych grup przechwytywania grup przechwytywania lub wszystkich grup przechwytywania w regex.
- Jeśli liczba grup przechwytywania wynosi 1: zwracana tablica ma jeden wymiar dopasowanych wartości.
- Jeśli liczba grup przechwytywania jest większa niż 1: Zwracana tablica jest dwuwymiarową kolekcją dopasowań wielowartościowych dla zaznaczenia grup przechwytywania lub wszystkich grup przechwytywania znajdujących się w regex, jeśli pominięto element captureGroups.
- Jeśli nie ma dopasowania:
null
.
Przykłady
Wyodrębnianie pojedynczej grupy przechwytywania
Poniższe zapytanie zwraca reprezentację szesnastkowej (dwie cyfry szesnastkowej) identyfikatora GUID.
print Id="82b8be2d-dfa7-4bd1-8f63-24ad26d31449"
| extend guid_bytes = extract_all(@"([\da-f]{2})", Id)
Wyjście
ID | 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)
Wyjście
ID | guid_bytes |
---|---|
82b8be2d-dfa7-4bd1-8f63-24ad26d31449 | [["8","2b8be2","d"],["d","fa","7"],["4","bd","1"],["8","f6","3"],["2","4ad26d3144","9"]] |
Wyodrębnianie podzbioru grup przechwytywania
Poniższe zapytanie wybiera podzestaw 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)
Wyjście
ID | guid_bytes |
---|---|
82b8be2d-dfa7-4bd1-8f63-24ad26d31449 | [["8","d"],["d","7"],["4","1"],["8","3"],["2","9"]] |
Używanie nazwanych grup przechwytywania
Grupa przechwytywania w poniższym zapytaniu używa zarówno indeksów grup przechwytywania, jak i nazwanych odwołań do grup przechwytywania 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)
Wyjście
ID | guid_bytes |
---|---|
82b8be2d-dfa7-4bd1-8f63-24ad26d31449 | [["8","2b8be2","d"],["d","fa","7"],["4","bd","1"],["8","f6","3"],["2","4ad26d3144","9"]] |