Dela via


extract()

Gäller för: ✅Microsoft FabricAzure Data ExplorerAzure MonitorMicrosoft Sentinel

Hämta en matchning för ett reguljärt uttryck från en källsträng.

Du kan också konvertera den extraherade delsträngen till den angivna typen.

Syntax

extract( regex,captureGroup,källa [,typeLiteral])

Läs mer om syntaxkonventioner.

Parametrar

Namn Typ Krävs Beskrivning
regex string ✔️ Ett reguljärt uttryck.
captureGroup int ✔️ Insamlingsgruppen som ska extraheras. 0 står för hela matchningen, 1 för värdet som matchas av den första "("parentesen")" i det reguljära uttrycket och 2 eller mer för efterföljande parenteser.
källa string ✔️ Strängen som ska sökas.
typeLiteral string Om det anges konverteras den extraherade delsträngen till den här typen. Till exempel typeof(long).

Returnerar

Om regex hittar en matchning i källa: den delsträng som matchas mot den angivna avbildningsgruppen captureGroup, kan du konvertera den till typLiteral.

Om det inte finns någon matchning eller om typkonverteringen misslyckas: null.

Exempel

Extrahera månad från datetime-sträng

Följande fråga extraherar månaden från strängen Dates och returnerar en tabell med datumsträngen och månaden.

let Dates = datatable(DateString: string)
[
    "15-12-2024",
    "21-07-2023",
    "10-03-2022"
];
Dates
| extend Month = extract(@"-(\d{2})-", 1, DateString, typeof(int))
| project DateString, Month

utdata

DateString Månad
15-12-2024 12
21-07-2023 7
10-03-2022 3

Extrahera användarnamn från en sträng

I följande exempel returneras användarnamnet från strängen. Det reguljära uttrycket ([^,]+) matchar texten efter "Användare: " upp till nästa kommatecken, vilket effektivt extraherar användarnamnet.

let Text = "User: JohnDoe, Email: johndoe@example.com, Age: 29";
print UserName = extract("User: ([^,]+)", 1, Text)

utdata

Användarnamn
JohnDoe