extract()
Získá shodu regulárního výrazu ze zdrojového řetězce.
Volitelně převeďte extrahovaný podřetěžce na uvedený typ.
Syntax
extract(
Regex,
captureGroup,
source [,
typeLiteral])
Přečtěte si další informace o konvencích syntaxe.
Parametry
Název | Typ | Vyžadováno | Popis |
---|---|---|---|
Regex | string |
✔️ | Regulární výraz. |
captureGroup | int |
✔️ | Skupina zachycení, která se má extrahovat. 0 označuje celou shodu, 1 hodnotu odpovídající první závorce ('závorky')' v regulárním výrazu a 2 nebo více pro následné závorky. |
Zdroj | string |
✔️ | Řetězec, který chcete vyhledat. |
TypeLiteral | string |
Pokud je zadaný, extrahovaný podřetěžce 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ě capture captureGroup, volitelně převedený na typeLiteral.
Pokud neexistuje žádná shoda nebo se převod typu nezdaří: null
.
Příklady
V ukázkovém řetězci Trace
se vyhledá definice pro Duration
.
Shoda se převede na real
a pak se vynásobí časovou konstantou (1s
) tak, aby Duration
byla typu timespan
. V tomto příkladu je to 123,45 sekundy:
T
| extend Trace="A=1, B=2, Duration=123.45, ..."
| extend Duration = extract("Duration=([0-9.]+)", 1, Trace, typeof(real)) * time(1s)
Tento příklad odpovídá substring(Text, 2, 4)
:
extract("^.{2,2}(.{4,4})", 1, Text)
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro