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

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
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

Ancora
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

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

  • ?P rappresenta l'inizio di un gruppo di acquisizione.

  • fieldName deve essere impostato sul nome del campo da aggiungere.

  • RegularExpression rappresenta il RegEx che definisce il valore del nuovo campo.

    RegEx non deve necessariamente corrispondere all'intero log.