Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Sintassi delle espressioni regolari (regex) supportate
Utilizzate le espressioni regolari quando avete bisogno di una corrispondenza flessibile dei modelli che vada oltre le corrispondenze di testo esatte. Regex è particolarmente utile per:
Formati variabili: abbina indirizzi IP, timestamp o IDs formati diversi
Corrispondenze parziali: trova le voci di registro contenenti modelli specifici in qualsiasi punto del testo
Condizioni complesse: abbina intervalli di valori, caratteri opzionali o ortografie alternative
Ad esempio, utilizzalo %\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}% per abbinare qualsiasi formato di indirizzo IP o %[Ee]rror|[Ff]ail% per catturare sia «Error» /"error» che «Fail» /"fail» nei log.
È possibile verificare la presenza di termini nei log eventi utilizzando un modello di espressioni regolari racchiuso tra % (segni percentuali prima e dopo il modello di espressione regolare). L'esempio seguente mostra uno schema di filtro che restituisce tutti gli eventi di registro contenenti la parola chiave AUTHORIZED:
%AUTHORIZED%
Questo modello di filtro restituisce i messaggi degli eventi di registro, come:
[ERROR 401] UNAUTHORIZED REQUEST[SUCCESS 200] AUTHORIZED REQUEST
Espandi la sezione seguente per visualizzare i dettagli sugli operatori regex specifici e sulle regole di sintassi supportate nei modelli di filtro CloudWatch Logs.
Quando si utilizzano espressioni regolari per cercare e filtrare i dati di un log, è necessario racchiudere le espressioni tra %.
I modelli di filtro con regex possono includere solo quanto segue:
-
Caratteri alfanumerici: un carattere alfanumerico è un carattere costituito da una lettera (dalla A alla Z o dalla a alla z) o una cifra (da 0 a 9).
-
Caratteri simbolici supportati: questi includono: '
:', '_', '',#'',='', '@', '/', ';', '' e,''.-Ad esempio,%something!%verrebbe rifiutato poiché '!' non è supportato. -
Operatori supportati: questi includono: '
^', '$', '?', '[', ']', '{', '}', '|', '\', '*', '+' e '.'.
Gli operatori ( e ) non sono supportati. Non è possibile utilizzare le parentesi per definire un sottomodello.
I caratteri multibyte non sono supportati.
Nota
Quote
Quando si creano filtri di parametri o filtri di sottoscrizione, per ogni gruppo di log sono disponibili al massimo 5 modelli di filtro contenenti espressioni regolari.
Quando si crea un modello di filtro delimitato o JSON per filtri di parametri e filtri di sottoscrizione o quando si filtrano log eventi, è possibile utilizzare al massimo due espressioni regolari per ogni modello di filtro.
Utilizzo degli operatori supportati
-
^: fissa la corrispondenza all'inizio di una stringa. Ad esempio,%^[hc]at%restituisce "hat" e "cat", ma solo all'inizio di una stringa. -
$: fissa la corrispondenza all'inizio di una stringa. Ad esempio,%[hc]at$%corrisponde a "hat" e "cat", ma solo alla fine di una stringa. -
?: corrisponde a zero o a una ricorrenza del termine precedente. Ad esempio,%colou?r%può restituire entrambe le varianti "color" e "colour". -
[]: definisce una classe di caratteri. Corrisponde all'elenco o all'intervallo di caratteri racchiuso tra parentesi quadre. Ad esempio,%[abc]%restituisce ad "a", "b" o "c",%[a-z]%restituisce qualsiasi lettera minuscola da "a" a "z" e%[abcx-z]%restituisce ad "a", "b", "c", "x", "y" oppure "z". -
{m, n}: restituisce il termine precedente almeno m e non più di n volte. Ad esempio,%a{3,5}%restituisce solo "aaa", "aaaa" e "aaaaa".Nota
È possibile omettere m o n se si sceglie di non definire un minimo o un massimo.
-
|: "or" booleano, che restituisce il termine a sinistra o a destra della barra verticale. Ad esempio:-
%gra|ey%può corrispondere a «grigio» o «grigio» -
%^starting|^initializing|^shutting down%può corrispondere a «start... «, o «inizializzazione... «, o «spegnimento», ma non corrisponderà a «saltare l'inizializzazione...» -
%abcc|ab[^c]$può corrispondere a «abcc...» e «aba...» ma non corrisponderà a «aac...»
-
-
\: carattere di escape, che consente di utilizzare il significato letterale di un operatore anziché il suo significato speciale. Ad esempio,%\[.\]%restituisce qualsiasi carattere singolo racchiuso tra "[" e "]" poiché le parentesi quadre sono ignorate, come nel caso di "[a]", "[b]", "[7]", "[@]", "[]]" e "[ ]".Nota
%10\.10\.0\.1%è il modo corretto per creare un'espressione regolare che restituisca l'indirizzo IP 10.10.0.1. -
*: Corrisponde a zero o più istanze del termine precedente. Ad esempio,%ab*c%può restituire "ac", "abc" e "abbbc";%ab[0-9]*%può restituire "ab", "ab0" e "ab129". -
+: corrisponde a una o più istanze del termine precedente. Ad esempio,%ab+c%può restituire "abc", "abbc" e "abbbc", ma non "ac". -
.: corrisponde a qualsiasi carattere singolo. Ad esempio,%.at%restituisce qualsiasi stringa di tre caratteri che termina con "at", tra cui "hat", "cat", "bat", "4at", "#at" e " at" (che inizia con uno spazio).Nota
Quando si crea un'espressione regolare per verificare la presenza di indirizzi IP, è importante evitare l'operatore
.. Ad esempio,%10.10.0.1%può restituire "10010,051", che potrebbe non essere lo scopo effettivo previsto dell'espressione. -
\d,\D: restituisce un carattere numerico/non numerico. Ad esempio,%\d%è equivalente a%[0-9]%e%\D%è equivalente a%[^0-9]%.Nota
L'operatore maiuscolo indica l'inverso della sua controparte minuscola.
-
\s,\S: restituisce un carattere di spazio bianco/carattere diverso da uno spazio bianco.Nota
L'operatore maiuscolo indica l'inverso della sua controparte minuscola. I caratteri di spaziatura includono i caratteri tab (
\t), spazio () e newline (\n). -
\w,\W: restituisce un carattere alfanumerico/non alfanumerico. Ad esempio,%\w%è equivalente a%[a-zA-Z_0-9]%e%\W%è equivalente a%[^a-zA-Z_0-9]%.Nota
L'operatore maiuscolo indica l'inverso della sua controparte minuscola.
-
\xhh: restituisce la mappatura ASCII per un carattere esadecimale a due cifre.\xè la sequenza di escape che indica che i caratteri seguenti rappresentano il valore esadecimale per ASCII.hhspecifica le due cifre esadecimali (0-9 e A-F) che puntano a un carattere nella tabella ASCII.Nota
È possibile utilizzare
\xhhper restituire caratteri simbolici che non sono supportati dal modello di filtro. Ad esempio,%\x3A%corrisponde a:e%\x28%corrisponde a(.