extract()
Gäller för: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft 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 |