extract()

Reguláris kifejezés egyezésének lekérése egy forrássztringből.

Igény szerint konvertálja a kinyert részkarakterláncot a megadott típusra.

Syntax

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

További információ a szintaxis konvenciókról.

Paraméterek

Név Típus Kötelező 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-et a reguláris kifejezés első "('zárójel')' értékével, és 2-t vagy többet a következő zárójelek esetében.
Forrás string ✔️ A keresendő sztring.
typeLiteral string Ha meg van adva, a kinyert részkarakterláncot a rendszer erre a típusra konvertálja. Például: typeof(long).

Válaszok

Ha a regex talál egyezést a forrásban: a részsztring megfeleltetve van a megadott capture group captureGroup csoportnak, opcionálisan typeLiteral típusra konvertálva.

Ha nincs egyezés, vagy a típuskonverzió meghiúsul: null.

Példák

A példasztring Trace a definícióját keresi.Duration Az egyezés konvertálva lesz a -ra real, majd megszorozza egy időállandóval (1s), így Duration a típusa timespan. Ebben a példában ez 123,45 másodperc:

T
| extend Trace="A=1, B=2, Duration=123.45, ..."
| extend Duration = extract("Duration=([0-9.]+)", 1, Trace, typeof(real)) * time(1s) 

Ez a példa a következőnek felel meg substring(Text, 2, 4):

extract("^.{2,2}(.{4,4})", 1, Text)