Creazione di espressioni RegEx
In IBM® Cloud Logs, è possibile utilizzare le regole di analisi per controllare la struttura dei dati applicando le espressioni RegEx prima che i dati vengano indicizzati per la ricerca.
IBM Cloud Logs utilizza il sapore di RegEx Golang.
Il modello RegEx è sensibile alle maiuscole e alle minuscole.
Quantificatori
| Quantificatore | Corrispondenze |
|---|---|
* |
0 o più corrispondenze del carattere o della sequenza precedente. |
? |
0 o 1 corrispondenza del carattere o della sequenza precedente. |
+ |
1 o più corrispondenze del carattere o della sequenza precedente. |
{N} |
Corrisponde esattamente N volte il carattere precedente. |
{N,} |
Corrisponde a N o più volte il carattere precedente. |
{N,Z} |
Corrisponde tra N e Z per il carattere precedente. |
Caratteri
| Caratteri | Corrispondenze |
|---|---|
. |
Corrisponde a qualsiasi carattere singolo. |
.* |
Corrisponde a qualsiasi cosa. |
\d |
Corrisponde a 1 singola cifra. |
\d* |
Corrisponde a N cifre. |
\D |
Corrisponde a qualsiasi simbolo tranne le cifre. |
\w |
Corrisponde a qualsiasi lettera, cifra o carattere di sottolineatura. |
\W |
Corrisponde a qualsiasi carattere che non sia una lettera, una cifra o un carattere di sottolineatura. |
\s |
Corrisponde a un carattere spazio. |
\S |
Corrisponde a qualsiasi carattere tranne spazio, tabulazione, nuova riga o ritorno a capo. |
\s* |
Corrisponde a N caratteri spazio. |
\S |
Corrisponde a qualsiasi carattere che non sia uno spazio. |
\S* |
Corrisponde a N caratteri che non sono spazi. |
Ancoraggi
| Ancoraggi | Corrispondenze |
|---|---|
\b |
Definisce un limite di parola. |
^ |
Corrisponde all'inizio di una stringa o di una riga. |
$ |
Corrisponde alla fine di una stringa o di una riga. |
Raggruppamenti
| Raggruppamento | Corrispondenze |
|---|---|
[ ] |
Rappresenta un gruppo di caratteri. |
( ) |
Utilizzato per raggruppare i modelli. |
[abcd...] |
Corrisponde a 1 carattere di quelli inclusi nelle parentesi quadre. |
[a-z] |
Corrisponde a 1 carattere nell'intervallo da a a z. |
[^a-z] |
Corrisponde a 1 carattere che non è compreso nell'intervallo da a a z. |
[....]+ |
Corrisponde a 1 o più caratteri di quelli elencati all'interno delle parentesi quadre. |
[....]? |
Corrisponde a 1 o 0 caratteri di quelli elencati tra parentesi quadre. |
[^"]* |
Corrisponde a N caratteri tranne le virgolette. |
[^"\s]* |
Corrisponde a N caratteri tranne le virgolette e gli spazi. |
[^.]* |
Corrisponde a 0 o più non - punti. |
Gruppi di cattura denominati
È possibile utilizzare i gruppi acquisiti denominati in un'espressione RegEx per definire nuovi campi dai dati esistenti nel record di log.
Il formato di un gruppo di acquisizione è il seguente:
(?P<fieldName>RegularExpression)
Dove
-
?Prappresenta l'inizio di un gruppo di acquisizione. -
fieldNamedeve essere impostato sul nome del campo da aggiungere. -
RegularExpressionrappresenta il RegEx che definisce il valore del nuovo campo.RegEx non deve necessariamente corrispondere all'intero log.