extract()
Haal een overeenkomst op voor een reguliere expressie uit een brontekenreeks.
U kunt desgewenst de geëxtraheerde subtekenreeks converteren naar het aangegeven type.
Syntax
extract(
Regex,
captureGroup,
source [,
typeLiteral])
Meer informatie over syntaxisconventies.
Parameters
Naam | Type | Vereist | Beschrijving |
---|---|---|---|
Regex | string |
✔️ | Een reguliere expressie. |
captureGroup | int |
✔️ | De opnamegroep die moet worden geëxtraheerd. 0 staat voor de volledige overeenkomst, 1 voor de waarde die overeenkomt met de eerste '('haakje')' in de reguliere expressie en 2 of meer voor volgende haakjes. |
bron | string |
✔️ | De tekenreeks die moet worden gezocht. |
typeLiteral | string |
Indien opgegeven, wordt de geëxtraheerde subtekenreeks geconverteerd naar dit type. Bijvoorbeeld typeof(long) . |
Retouren
Als regex een overeenkomst vindt in de bron: de subtekenreeks komt overeen met de aangegeven capture group captureGroup, optioneel geconverteerd naar typeLiteral.
Als er geen overeenkomst is of als de typeconversie mislukt: null
.
Voorbeelden
In de voorbeeldtekenreeks Trace
wordt gezocht naar een definitie voor Duration
.
De overeenkomst wordt geconverteerd naar real
en vermenigvuldigd met een tijdconstante (1s
), dus dat Duration
is van het type timespan
. In dit voorbeeld is dit gelijk aan 123,45 seconden:
T
| extend Trace="A=1, B=2, Duration=123.45, ..."
| extend Duration = extract("Duration=([0-9.]+)", 1, Trace, typeof(real)) * time(1s)
Dit voorbeeld is gelijk aan substring(Text, 2, 4)
:
extract("^.{2,2}(.{4,4})", 1, Text)
Feedback
https://aka.ms/ContentUserFeedback voor meer informatie.
Binnenkort beschikbaar: in de loop van 2024 zullen we GitHub-problemen geleidelijk uitfaseren als het feedbackmechanisme voor inhoud en deze vervangen door een nieuw feedbacksysteem. ZieFeedback verzenden en weergeven voor