extract()
Obtenha uma correspondência para uma expressão regular a partir de uma cadeia de origem.
Opcionalmente, converta a subcadeia extraída para o tipo indicado.
Syntax
extract(
regex,
captureGroup,
origem [,
typeLiteral])
Saiba mais sobre as convenções de sintaxe.
Parâmetros
Nome | Tipo | Necessário | Descrição |
---|---|---|---|
regex | string |
✔️ | Uma expressão normal. |
captureGroup | int |
✔️ | O grupo de captura a extrair. 0 significa a correspondência completa, 1 para o valor correspondido pelo primeiro "('parênteses')" na expressão regular e 2 ou mais para parênteses subsequentes. |
origem | string |
✔️ | A cadeia de carateres a procurar. |
typeLiteral | string |
Se for fornecido, a subcadeia extraída é convertida para este tipo. Por exemplo, typeof(long) . |
Devoluções
Se regex encontrar uma correspondência na origem: a subcadeia correspondeu ao grupo de captura indicado captureGroup, opcionalmente convertido em typeLiteral.
Se não existir correspondência ou se a conversão do tipo falhar: null
.
Exemplos
A cadeia de Trace
exemplo é pesquisada para obter uma definição para Duration
.
A correspondência é convertida em real
e, em seguida, multiplica-a por uma constante de tempo (1s
) para que seja Duration
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.
Brevemente: Ao longo de 2024, vamos descontinuar progressivamente o GitHub Issues como mecanismo de feedback para conteúdos e substituí-lo por um novo sistema de feedback. Para obter mais informações, veja:Submeter e ver comentários