Sdílet prostřednictvím


extract()

Přepněte služby pomocí rozevíracího seznamu Verze . Přečtěte si další informace o navigaci.
Platí pro: ✅ Microsoft Fabric ✅ Azure Data Explorer ✅ Azure Monitor ✅ Microsoft Sentinel

Získá shodu regulárního výrazu ze zdrojového řetězce.

Volitelně můžete převést extrahovaný podřetětěr na zadaný typ.

Syntaxe

extract( regex, captureGroup,source [,typeLiteral])

Přečtěte si další informace o konvencích syntaxe.

Parametry

Název Typ Požadováno Popis
regex string ✔️ Regulární výraz.
captureGroup int ✔️ Skupina zachycení, která se má extrahovat. 0 znamená celou shodu, 1 pro hodnotu odpovídající první závorce ('závorka') v regulárním výrazu a 2 nebo více pro následující závorky.
zdroj string ✔️ Řetězec, který se má prohledávat.
typeLiteral string Pokud je k dispozici, extrahovaný podřetětěr je převeden na tento typ. Například typeof(long).

Návraty

Pokud regulární výraz najde shodu ve zdroji: podřetěc odpovídající zadané skupině captureGroup, volitelně převeden na typeLiteral.

Pokud neexistuje žádná shoda nebo převod typu selže: null.

Příklady

Následující příklad extrahuje uživatelské jméno, e-mail, věk z řetězce. Regulární výraz slouží k extrahování informací.

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)

výstupní

Text UserName EmailId Age
Uživatel: James, Email: James@example.com, Věk: 29 Jakub James@example.com 29
Uživatel: David, Věk: 35 David 35

Následující příklad extrahuje měsíc z řetězce Dates a vrátí tabulku s řetězcem kalendářního data a měsícem jako typem int.

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

výstupní

DateString Month
15-12-2024 12
21-07-2023 7
10-03-2022 3