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 Tipo 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.
de origen 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

En el ejemplo siguiente se extrae el nombre de usuario, el correo electrónico, la antigüedad de la cadena. La expresión regular se usa para extraer la información.

Ejecutar el de consulta

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

de salida

Nombre de usuario EmailId Edad
JohnDoe johndoe@example.com 29

En el ejemplo siguiente se extrae el mes de la cadena Dates y se devuelve una tabla con la cadena de fecha y el mes como tipo int.

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