extract()
Aplica-se a: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
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.
Sintaxe
extract(
regex,
captureGroup,
source [,
typeLiteral])
Saiba mais sobre as convenções de sintaxe.
Parâmetros
Nome | Digitar | Obrigatória | Descrição |
---|---|---|---|
regex | string |
✔️ | uma expressão regular. |
Grupo de captura | int |
✔️ | O grupo de captura a ser extraído. 0 representa a correspondência inteira, 1 para o valor correspondido pelo primeiro '('parêntese')' 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) . |
Devoluções
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
Extrair mês da cadeia de caracteres datetime
A consulta a seguir extrai o mês da cadeia de caracteres Dates
e retorna uma tabela com a cadeia de caracteres de data e o mês.
executar o de consulta
let Dates = datatable(DateString: string)
[
"15-12-2024",
"21-07-2023",
"10-03-2022"
];
Dates
| extend Month = extract(@"-(\d{2})-", 1, DateString, typeof(int))
| project DateString, Month
de saída
DateString | Mês |
---|---|
15-12-2024 | 12 |
21-07-2023 | 7 |
10-03-2022 | 3 |
Extrair nome de usuário de uma cadeia de caracteres
O exemplo a seguir retorna o nome de usuário da cadeia de caracteres. A expressão regular ([^,]+)
corresponde ao texto a seguir "Usuário: " até a próxima vírgula, extraindo efetivamente o nome de usuário.
executar o de consulta
let Text = "User: JohnDoe, Email: johndoe@example.com, Age: 29";
| print UserName = extract("User: ([^,]+)", 1, Text)
de saída
UserName |
---|
JohnDoe |