extract()
Obtenha uma correspondência para uma expressão regular com base em uma cadeia de caracteres de origem.
Opcionalmente converte a subcadeia extraída no tipo indicado.
Syntax
extract(
Regex,
captureGroup,
source [,
typeLiteral])
Saiba mais sobre as convenções de sintaxe.
Parâmetros
Nome | Tipo | Obrigatório | Descrição |
---|---|---|---|
regex | string |
✔️ | Uma expressão regular. |
captureGroup | int |
✔️ | O grupo de captura a ser extraído. 0 significa a correspondência inteira, 1 para o valor correspondente ao primeiro '('parênteses')' na expressão regular e 2 ou mais para parênteses subsequentes. |
source | string |
✔️ | A cadeia de caracteres a ser pesquisada. |
typeLiteral | string |
Se for fornecido, a subcadeia de caracteres extraída será convertida para esse tipo. Por exemplo, typeof(long) . |
Retornos
Se regex encontrar uma correspondência em source: a substring correspondente ao grupo de captura captureGroup indicado, convertida, opcionalmente, em typeLiteral.
Se não houver correspondência, ou se a conversão do tipo falhar: null
.
Exemplos
A cadeia de caracteres de exemplo Trace
é pesquisada em busca de uma definição para Duration
.
A correspondência é convertida em real
e multiplicada por uma constante de tempo (1s
) para que Duration
seja do tipo timespan
. Neste exemplo, é igual a 123,45 segundos:
T
| extend Trace="A=1, B=2, Duration=123.45, ..."
| extend Duration = extract("Duration=([0-9.]+)", 1, Trace, typeof(real)) * time(1s)
Este exemplo é equivalente a substring(Text, 2, 4)
:
extract("^.{2,2}(.{4,4})", 1, Text)
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de