extract()
Ottenere una corrispondenza per un'espressione regolare da una stringa di origine.
Facoltativamente, converte la sottostringa estratta nel tipo indicato.
Sintassi
extract(
Regex,
captureGroup,
source [,
typeLiteral])
Altre informazioni sulle convenzioni di sintassi.
Parametri
Nome | Tipo | Obbligatoria | Descrizione |
---|---|---|---|
Regex | string |
✔️ | Espressione regolare. |
captureGroup | int |
✔️ | Gruppo di acquisizione da estrarre. 0 indica l'intera corrispondenza, 1 per il valore corrispondente al primo '('parentesi')' nell'espressione regolare e 2 o più per le parentesi successive. |
source | string |
✔️ | Stringa in cui effettuare la ricerca. |
typeLiteral | string |
Se specificato, la sottostringa estratta viene convertita nel tipo. Ad esempio: typeof(long) . |
Restituisce
Se regex trova una corrispondenza nell'origine: la sottostringa corrispondente al gruppo capture capturegroup indicato, facoltativamente convertita in typeLiteral.
Se non esiste alcuna corrispondenza o la conversione del tipo non riesce: null
.
Esempi
Nella stringa di esempio Trace
viene cercata una definizione per Duration
.
La corrispondenza viene convertita in real
e quindi moltiplicata per una costante di tempo (1s
) in modo che Duration
sia di tipo timespan
. In questo esempio è uguale a 123,45 secondi:
T
| extend Trace="A=1, B=2, Duration=123.45, ..."
| extend Duration = extract("Duration=([0-9.]+)", 1, Trace, typeof(real)) * time(1s)
Questo esempio è equivalente a substring(Text, 2, 4)
:
extract("^.{2,2}(.{4,4})", 1, Text)
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per