As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Sintaxe de expressões regulares (regex) compatíveis
Use expressões regulares quando precisar de uma correspondência flexível de padrões que vá além das correspondências exatas de texto. O Regex é particularmente útil para:
Formatos variáveis: combine endereços IP, carimbos de data/hora ou IDs com formatos diferentes
Correspondências parciais: encontre entradas de registro contendo padrões específicos em qualquer lugar do texto
Condições complexas: combine intervalos de valores, caracteres opcionais ou grafias alternativas
Por exemplo, use %\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}%
para corresponder a qualquer formato de endereço IP ou %[Ee]rror|[Ff]ail%
para capturar “Error” /"error” e “Fail” /"fail” nos registros.
É possível fazer a correspondência de termos em seus eventos de log usando um padrão regex cercado por %
(sinais de percentual antes e depois do padrão regex). O exemplo a seguir mostra um padrão de filtro que retorna todos os eventos de registro contendo a palavra-chave AUTHORIZED:
%AUTHORIZED%
Esse padrão de filtro retorna mensagens de eventos de log, como:
[ERROR 401] UNAUTHORIZED REQUEST
[SUCCESS 200] AUTHORIZED REQUEST
Expanda a seção a seguir para ver detalhes sobre os operadores de regex específicos e as regras de sintaxe compatíveis com os padrões de filtro de CloudWatch registros.
Ao usar regex para pesquisar e filtrar dados de log, é necessário envolver suas expressões com %
.
Os padrões de filtros com regex só podem incluir o seguinte:
-
Caracteres alfanuméricos: um caractere alfanumérico é um caractere que é uma letra (A a Z ou a a z) ou um dígito (0 a 9).
-
Caracteres de símbolo compatíveis — Eles incluem:
:
'', '_
', '#
', '=
', '@
', '',/
'',;
'' e,
'' 'e'-
'. Por exemplo,%something!%
seria rejeitado porque "!
" não é aceito. -
Operadores compatíveis: "
^
", "$
", "?
", "[
", "]
", "{
", "}
", "|
", "\
", "*
", "+
", e ".
", entre outros.
Os operadores (
e )
e não são aceitos. Não é possível usar parênteses para definir um subpadrão.
Caracteres multibytes não são aceitos.
nota
Cotas
Há um máximo de 5 padrões de filtros contendo regex para cada grupo de logs na criação de filtros de métricas ou filtros de assinatura.
Há um limite de dois regex para cada padrão de filtro na criação de um padrão de filtro delimitado ou JSON para filtros de métricas e filtros de assinatura, ou ao filtrar eventos de log ou Live Tail.
Uso de operadores compatíveis
-
^
: fixa a correspondência no início de uma string. Por exemplo,%^[hc]at%
corresponde a "hat" e "cat", mas somente no início de uma string. -
$
: fixa a correspondência no final de uma string. Por exemplo,%[hc]at$%
corresponde a "hat" e "cat", mas somente no final de uma string. -
?
: corresponde a zero ou a uma ocorrência do termo anterior. Por exemplo,%colou?r%
pode corresponder a "color" e "colour". -
[]
: define uma classe de caracteres. Corresponde à lista de caracteres ou ao intervalo de caracteres contido nos colchetes. Por exemplo,%[abc]%
corresponde a "a", "b", ou "c";%[a-z]%
corresponde a qualquer letra minúscula de "a" a "z"; e%[abcx-z]%
corresponde a "a", "b", "c", "x", "y", ou "z". -
{m, n}
: corresponde ao termo anterior no mínimo m e não mais que n vezes. Por exemplo,%a{3,5}%
corresponde somente a "aaa", "aaaa", e "aaaaa".nota
Tanto m quanto n podem ser omitidos se você optar por não definir um mínimo ou máximo.
-
|
: booleano "Or", que corresponde ao termo em ambos os lados da barra vertical. Por exemplo:-
%gra|ey%
pode combinar com “cinza” ou “cinza” -
%^starting|^initializing|^shutting down%
pode corresponder a “começando... “, ou “inicializando... “, ou “desligando”, mas não corresponderá a “pular a inicialização...” -
%abcc|ab[^c]$
pode corresponder a “abcc...” e “aba...”, mas não corresponderá a “aac...”
-
-
\
: caractere de escape que permite usar o significado literal de um operador em vez de seu significado especial. Por exemplo,%\[.\]%
corresponde a qualquer caractere único cercado por "[" e "]", pois escape antecede os colchetes, como "[a]", "[b]", "[7]", "[@]", "[]]", e "[ ]".nota
%10\.10\.0\.1%
é a maneira correta de criar uma regex que corresponda ao endereço IP 10.10.0.1. -
*
: corresponde a zero ou mais instâncias do termo precedente. Por exemplo,%ab*c%
pode corresponder a "ac", "abc" e "abbbc";%ab[0-9]*%
pode corresponder a "ab", "ab0" e "ab129". -
+
: corresponde a uma ou mais instâncias do termo precedente. Por exemplo,%ab+c%
pode corresponder a "abc", "abbc" e "abbbc", mas não a "ac". -
.
: corresponde a qualquer caractere sozinho. Por exemplo,%.at%
corresponde a qualquer string de três caracteres que termina com "at", incluindo "hat", "cat", "bat", "4at", "#at" e " at" (começando com um espaço).nota
Ao criar uma regex para fazer a correspondência de endereços IP, é importante colocar escape antes do operador
.
. Por exemplo,%10.10.0.1%
pode corresponder a "10010,051", o que pode não ser o verdadeiro objetivo da expressão. -
\d
,\D
: corresponde a um caractere de dígito/não dígito. Por exemplo,%\d%
é equivalente a%[0-9]%
e%\D%
é equivalente a%[^0-9]%
.nota
O operador maiúsculo indica o inverso de sua contraparte minúscula.
-
\s
,\S
: corresponde a um caractere de espaço em branco/caractere sem espaço em branco.nota
O operador maiúsculo indica o inverso de sua contraparte minúscula. Os caracteres de espaço em branco incluem os caracteres tab (
\t
), espaço (\n
). -
\w
,\W
: corresponde a um caractere alfanumérico/caractere não alfanumérico. Por exemplo,%\w%
é equivalente a%[a-zA-Z_0-9]%
e%\W%
é equivalente a%[^a-zA-Z_0-9]%
.nota
O operador maiúsculo indica o inverso de sua contraparte minúscula.
-
\xhh
: corresponde ao mapeamento ASCII para um caractere hexadecimal de dois dígitos.\x
é a sequência de escape que indica que os caracteres a seguir representam o valor hexadecimal para ASCII.hh
especifica os dois dígitos hexadecimais (0-9 e A-F) que apontam para um caractere na tabela ASCII.nota
É possível usar
\xhh
para combinar caracteres de símbolo que não são compatíveis com o padrão de filtros. Por exemplo,%\x3A%
corresponde a:
; e%\x28%
corresponde a(
.