Megosztás a következőn keresztül:


kivonat()

A következőkre vonatkozik: ✅Microsoft FabricAzure Data ExplorerAzure MonitorMicrosoft Sentinel

A forrássztringből reguláris kifejezés egyezésének lekérése.

Igény szerint konvertálja a kinyert részszúrást a megadott típusra.

Szintaxis

extract( regex,captureGroup,forrás [,typeLiteral])

További információ szintaxiskonvenciákról.

Paraméterek

Név Típus Szükséges Leírás
regex string ✔️ Egy reguláris kifejezés.
captureGroup int ✔️ A kinyerni kívánt rögzítési csoport. A 0 a teljes egyezést jelenti, 1 a reguláris kifejezésben az első "('zárójel')' által egyeztetett értéket, a további zárójelek esetében pedig 2 vagy több.
forrás string ✔️ A keresendő sztring.
typeLiteral string Ha meg van adva, a kinyert részszúrás ilyen típusúvá lesz konvertálva. Például typeof(long).

Visszatér

Ha regex talál egyezést forrás: a megadott rögzítési csoporttal captureGroup, opcionálisan typeLiteral.

Ha nincs egyezés, vagy a típusátalakítás meghiúsul: null.

Példák

Hónap kinyerés dátum/idő sztringből

Az alábbi lekérdezés kinyeri a hónapot a Dates sztringből, és visszaad egy táblát a dátumsztringgel és a hónaptal.

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

kimeneti

DateString Hónap
15-12-2024 12
21-07-2023 7
10-03-2022 3

Felhasználónév kinyerve egy sztringből

Az alábbi példa a sztringben szereplő felhasználónevet adja vissza. A reguláris kifejezés ([^,]+) a következő szövegnek felel meg: "Felhasználó: " a következő vesszőig, hatékonyan kinyerve a felhasználónevet.

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

kimeneti

UserName
JohnDoe