Sintaxis de expresiones regulares (regex) compatibles - Amazon CloudWatch Logs

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Sintaxis de expresiones regulares (regex) compatibles

Utilice expresiones regulares cuando necesite una coincidencia de patrones flexible que vaya más allá de las coincidencias exactas de texto. Regex es particularmente útil para:

  • Formatos variables: coinciden con direcciones IP, marcas de tiempo o con diferentes formatos IDs

  • Coincidencias parciales: busca entradas de registro que contengan patrones específicos en cualquier parte del texto

  • Condiciones complejas: haga coincidir rangos de valores, caracteres opcionales o ortografías alternativas

Por ejemplo, úselo %\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}% para hacer coincidir cualquier formato de dirección IP o %[Ee]rror|[Ff]ail% para capturar tanto «Error» /"error» como «Fail» /"fail» en los registros.

Puede hacer coincidir los términos de sus eventos de registro mediante el uso de un patrón de expresiones regulares rodeado de % (signos de porcentaje antes y después del patrón de expresiones regulares). El siguiente ejemplo muestra un patrón de filtro que devuelve todos los eventos de registro que contienen la palabra clave AUTHORIZED:

%AUTHORIZED%

Este patrón de filtro devuelve mensajes de eventos de registro, como:

  • [ERROR 401] UNAUTHORIZED REQUEST

  • [SUCCESS 200] AUTHORIZED REQUEST

Expanda la siguiente sección para ver detalles sobre los operadores de expresiones regulares específicos y las reglas de sintaxis compatibles con los patrones de filtrado de CloudWatch registros.

Cuando utilice expresiones regulares para buscar y filtrar datos de registro, debe rodear las expresiones con %.

Los patrones de filtrado con expresiones regulares solo pueden incluir lo siguiente:

  • Caracteres alfanuméricos: un carácter alfanumérico es un carácter que puede ser una letra (de la A a la Z o de la a la z) o un dígito (del 0 al 9).

  • Caracteres simbólicos admitidos: ':', '_', ',#', = ',', @ ',/', ',;', , 'y' '. - Por ejemplo, se rechazaría %something!% porque “!” no es compatible.

  • Operadores compatibles, entre los cuales se incluyen: “^”, “$”, “?”, “[”, “]”, “{”, “}”, “|”, “\”, “*”, “+” y “.”.

Los operadores ( y ) no son compatibles. No puede usar paréntesis para definir un subpatrón.

Los caracteres de varios bytes no son compatibles.

nota

Cuotas

Hay un máximo de 5 patrones de filtro que contienen expresiones regulares para cada grupo de registro al crear filtros de métricas o filtros de suscripción.

Hay un límite de 2 expresiones regulares para cada patrón de filtro al crear un patrón de filtro delimitado o JSON para los filtros de métricas y los filtros de suscripción o al filtrar los eventos de registro. o Live Tail.

Uso de operadores compatibles

  • ^: ancla la coincidencia al inicio de una cadena. Por ejemplo, %^[hc]at% coincide con los términos en inglés “hat” y “cat”, pero solo al principio de una cadena.

  • $: ancla la coincidencia al final de una cadena. Por ejemplo, %[hc]at$% coincide con los términos en inglés “hat” y “cat”, pero solo al final de una cadena.

  • ?: Coincide con cero o con una aparición del término anterior. Por ejemplo, %colou?r% puede coincidir tanto con el término en inglés “color” como con el término en inglés “colour”.

  • []: define una clase de caracteres. Coincide con la lista el rango de caracteres que figuran entre corchetes. Por ejemplo, %[abc]% coincide con “a”, “b” o “c”; %[a-z]% coincide con cualquier letra minúscula de la “a” a la “z”; y %[abcx-z]% coincide con las letras “a”, “b”, “c”, “x”, “y” o “z”.

  • {m, n}: coincide con el término anterior al menos m y no más de n veces. Por ejemplo, %a{3,5}% solo coincide con “aaa”, “aaaa” y “aaaaa”.

    nota

    Se pueden omitir m o n si decide no definir un mínimo o un máximo.

  • |: “O” booleano, que coincide con el término que aparece a ambos lados de la barra vertical. Por ejemplo:

    • %gra|ey%puede coincidir con «gris» o «gris»

    • %^starting|^initializing|^shutting down%puede coincidir con «empezando... «, o «inicializando... «, o «apagando», pero no coincidirá con «omitir la inicialización...»

    • %abcc|ab[^c]$puede coincidir con «abcc...» y «aba...» pero no coincidirá con «aac...»

  • \: carácter de escape, que permite utilizar el significado literal de un operador en lugar de su significado especial. Por ejemplo, %\[.\]% coincide con cualquier carácter individual rodeado de “[“ y ”]”, ya que los corchetes están separados, como “[a]”, “[b]”, “[7]”, “[@]”, “[]]” y “[ ]”.

    nota

    %10\.10\.0\.1% es la forma correcta de crear una expresión regular que coincida con la dirección IP 10.10.0.1.

  • *: coincide con cero o más instancias del término correspondiente. Por ejemplo, %ab*c% puede coincidir con “ac”, “abc” y “abbbc”; %ab[0-9]*% puede coincidir con “ab”, “ab0” y “ab129”.

  • +: coincide con una o más instancias del término correspondiente. Por ejemplo, %ab+c% puede coincidir con “abc”, “abbc” y “abbbc”, pero no con “ac”.

  • .: coincide con cualquier carácter. Por ejemplo, %.at% coincide con cualquier cadena de tres caracteres que termine en “at”, incluidos los términos en inglés “hat”, “cat”, “bat”, “4at”, “#at” y “at” (que comienza con un espacio).

    nota

    Al crear una expresión regular para que coincida con las direcciones IP, es importante evitar el uso del operador .. Por ejemplo, %10.10.0.1% puede coincidir con “10010,051”, lo que podría no ser el objetivo real de la expresión.

  • \d, \D: coincide con un carácter que sea un dígito o que no lo sea. Por ejemplo, %\d% es equivalente a %[0-9]%, y %\D% es equivalente a %[^0-9]%.

    nota

    El operador en mayúscula indica el inverso de su homólogo en minúscula.

  • \s, \S: coincide con un carácter con espacio en blanco o sin espacio en blanco.

    nota

    El operador en mayúscula indica el inverso de su homólogo en minúscula. Los espacios en blanco incluyen los caracteres tab (\t), space ( ) y newline (\n).

  • \w, \W: coincide con un carácter alfanumérico o no alfanumérico. Por ejemplo, %\w% es equivalente a %[a-zA-Z_0-9]%, y %\W% es equivalente a %[^a-zA-Z_0-9]%.

    nota

    El operador en mayúscula indica el inverso de su homólogo en minúscula.

  • \xhh: coincide con la asignación ASCII de un carácter hexadecimal de dos dígitos. \x es la secuencia de escape que indica que los siguientes caracteres representan el valor hexadecimal para ASCII. hh especifica los dos dígitos hexadecimales (0-9 y A-F) que apuntan a un carácter de la tabla ASCII.

    nota

    Puede utilizar \xhh para hacer coincidir caracteres de símbolo que no son compatibles con el patrón de filtro. Por ejemplo, %\x3A% coincide con :; y %\x28% coincide con (.