Compartir a través de


extract()

Se aplica a: ✅Microsoft FabricAzure Data Explorer✅Azure MonitorMicrosoft Sentinel

Obtener una coincidencia para una expresión regular a partir de una cadena de origen.

Opcionalmente, convierte la subcadena extraída al tipo indicado.

Sintaxis

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

Obtenga más información sobre las convenciones de sintaxis.

Parámetros

Nombre Type Obligatorio Descripción
regex string ✔️ una expresión regular.
captureGroup int ✔️ Grupo de captura que se va a extraer. 0 significa la coincidencia completa, 1 para el valor coincidente con el primer '('paréntesis')' en la expresión regular y 2 o más para paréntesis posteriores.
source string ✔️ Cadena en la que se va a buscar.
typeLiteral string Si se proporciona, la subcadena extraída se convierte a este tipo. Por ejemplo, typeof(long).

Devoluciones

Si regex encuentra una coincidencia en source: la subcadena coincidía con el grupo de captura indicado, captureGroup, opcionalmente convertido a typeLiteral.

Si no hay ninguna coincidencia, o se produce un error en la conversión del tipo: null.

Ejemplos

Extracción del mes de la cadena datetime

La consulta siguiente extrae el mes de la cadena Dates y devuelve una tabla con la cadena de fecha y el mes.

Ejecutar el 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 salida

DateString Mes
15-12-2024 12
21-07-2023 7
10-03-2022 3

Extraer el nombre de usuario de una cadena

En el ejemplo siguiente se devuelve el nombre de usuario de la cadena. La expresión regular ([^,]+) coincide con el texto "User: " hasta la siguiente coma, extrayendo eficazmente el nombre de usuario.

Ejecutar el de consulta

let Text = "User: JohnDoe, Email: johndoe@example.com, Age: 29";
| print UserName = extract("User: ([^,]+)", 1, Text)

de salida

Nombre de usuario
JohnDoe