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

I följande exempel extraheras användarnamnet, e-postmeddelandet, ålder från strängen. Det reguljära uttrycket används för att extrahera informationen.

let _data = datatable(Text: string)
[
"User: James, Email: James@example.com, Age: 29",
"User: David, Age: 35"
];
_data |
extend UserName = extract("User: ([^,]+)", 1, Text),
       EmailId = extract(@"Email: (\S+),", 1, Text),
       Age = extract(@"\d+", 0, Text)

utdata

Text UserName EmailId Age
Användare: James, E-post: James@example.com, Ålder: 29 James James@example.com 29
Användare: David, Ålder: 35 David 35

I följande exempel extraheras månaden från strängen Dates och en tabell returneras med datumsträngen och månaden som int-typ.

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 Month
15-12-2024 12
21-07-2023 7
10-03-2022 3