extract_all()
Abrufen aller Übereinstimmungen für einen regulären Ausdruck aus einer Quellzeichenfolge. Rufen Sie optional eine Teilmenge übereinstimmenden Gruppen ab.
print extract_all(@"(\d+)", "a set of numbers: 123, 567 and 789") // results with the dynamic array ["123", "567", "789"]
Veraltete Aliase: extractall()
Syntax
extract_all(
Regex,
[captureGroups,
] Quelle)
Erfahren Sie mehr über Syntaxkonventionen.
Parameter
Name | Typ | Erforderlich | BESCHREIBUNG |
---|---|---|---|
regex | string |
✔️ | Ein regulärer Ausdruck , der zwischen einer und 16 Erfassungsgruppen enthält. |
captureGroups | dynamic |
Ein Array, das die zu extrahierenden Erfassungsgruppen angibt. Gültige Werte liegen zwischen 1 und der Anzahl der Erfassungsgruppen im regulären Ausdruck. Benannte Erfassungsgruppen sind ebenfalls zulässig. Weitere Informationen finden Sie unter Beispiele. | |
source | string |
✔️ | Die zu durchsuchende Zeichenfolge. |
Gibt zurück
- Wenn regex eine Übereinstimmung in der Quelle findet: Gibt ein dynamisches Array zurück, das alle Übereinstimmungen mit den angegebenen Erfassungsgruppen captureGroups oder alle Erfassungsgruppen im Regex enthält.
- Wenn die Anzahl von captureGroups 1 ist: Das zurückgegebene Array verfügt über eine einzelne Dimension von übereinstimmenden Werten.
- Wenn die Anzahl von captureGroups mehr als 1 ist: Das zurückgegebene Array ist eine zweidimensionale Auflistung von mehrwertigen Übereinstimmungen pro captureGroups-Auswahl oder alle erfassungsgruppen, die im regex vorhanden sind, wenn captureGroups ausgelassen wird.
- Wenn keine Übereinstimmung vorhanden ist:
null
.
Beispiele
Extrahieren einer einzelnen Erfassungsgruppe
Die folgende Abfrage gibt eine Hex-Byte-Darstellung (zwei Hex-Ziffern) der GUID zurück.
print Id="82b8be2d-dfa7-4bd1-8f63-24ad26d31449"
| extend guid_bytes = extract_all(@"([\da-f]{2})", Id)
Ausgabe
id | guid_bytes |
---|---|
82b8be2d-dfa7-4bd1-8f63-24ad26d31449 | ["82","b8","be","2d","df","a7","4b","d1","8f","63","24","ad","26","d3","14","49"] |
Extrahieren mehrerer Erfassungsgruppen
In der folgenden Abfrage wird ein regulärer Ausdruck mit drei Erfassungsgruppen verwendet, um jeden GUID-Teil in den ersten Buchstaben, den letzten Buchstaben und das, was sich in der Mitte befindet, aufzuteilen.
print Id="82b8be2d-dfa7-4bd1-8f63-24ad26d31449"
| extend guid_bytes = extract_all(@"(\w)(\w+)(\w)", Id)
Ausgabe
id | guid_bytes |
---|---|
82b8be2d-dfa7-4bd1-8f63-24ad26d31449 | [["8","2b8be2","d"],["d","fa","7"],["4","bd","1"],["8","f6","3"],["2","4ad26d3144","9"]] |
Extrahieren einer Teilmenge von Erfassungsgruppen
Die folgende Abfrage wählt eine Teilmenge der Erfassungsgruppen aus.
Der reguläre Ausdruck entspricht dem ersten Buchstaben, dem letzten Buchstaben und dem rest.
Der captureGroups-Parameter wird verwendet, um nur den ersten und den letzten Teil auszuwählen.
print Id="82b8be2d-dfa7-4bd1-8f63-24ad26d31449"
| extend guid_bytes = extract_all(@"(\w)(\w+)(\w)", dynamic([1,3]), Id)
Ausgabe
id | guid_bytes |
---|---|
82b8be2d-dfa7-4bd1-8f63-24ad26d31449 | [["8","d"],["d","7"],["4","1"],["8","3"],["2","9"]] |
Verwenden von benannten Erfassungsgruppen
Die captureGroups in der folgenden Abfrage verwendet sowohl Aufzeichnungsgruppenindizes als auch Verweise auf benannte Erfassungsgruppen, um übereinstimmende Werte abzurufen.
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)
Ausgabe
id | guid_bytes |
---|---|
82b8be2d-dfa7-4bd1-8f63-24ad26d31449 | [["8","2b8be2","d"],["d","fa","7"],["4","bd","1"],["8","f6","3"],["2","4ad26d3144","9"]] |
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für