Construindo expressões RegEx

No IBM® Cloud Logs, é possível usar regras de análise para controlar a estrutura de seus dados aplicando expressões RegEx antes que os dados sejam indexados para procura.

IBM Cloud Logs usa a variante RegEx Golang.

Um padrão RegEx diferencia maiúsculas de minúsculas.

Quantificadores

Quantificadores
Quantificador Correspondências
* 0 ou mais correspondências do caractere ou sequência anterior.
? 0 ou 1 correspondências do caractere ou sequência anterior.
+ 1 ou mais correspondências do caractere ou sequência anterior.
{N} Corresponde exatamente N vezes o caractere anterior..
{N,} Corresponde a N ou mais vezes o caractere anterior
{N,Z} Corresponde entre N e Z vezes o caractere anterior.

Caracteres

Caracteres
Caracteres Correspondências
. Corresponde a qualquer caractere único.
.* Corresponde a qualquer coisa
\d Corresponde a um único dígito.
\d* Corresponde N dígitos.
\D Corresponde qualquer símbolo, exceto dígitos.
\w Corresponde qualquer letra, dígito ou sublinhado.
\W Corresponde a qualquer caractere que não seja uma letra, dígito ou sublinhado.
\s Corresponde a um caractere de espaço em branco
\S Corresponde a qualquer caractere, exceto espaço, tabulação, nova linha ou retorno de linha
\s* Corresponde N caracteres de espaço em branco.
\S Corresponde a qualquer caractere que não esteja em branco.
\S* Corresponde a N caracteres que não são espaços em branco.

Âncoras

âncoras
Âncoras Correspondências
\b Define um limite de palavra..
^ Corresponde ao início de uma sequência ou linha
$ Corresponde ao final de uma cadeia de caracteres ou linha.

Agrupamentos

Agrupamentos
Agrupamento Correspondências
[ ] Representa um grupo de caracteres..
( ) Usado para agrupar padrões
[abcd...] Corresponde a 1 caractere dos incluídos entre colchetes.
[a-z] Corresponde a 1 caractere no intervalo de a a z
[^a-z] Corresponde a 1 caractere que não está no intervalo de a a z
[....]+ Corresponde a 1 ou mais caracteres dos listados entre colchetes.
[....]? Corresponde a 1 ou 0 caracteres daqueles listados entre colchetes.
[^"]* Corresponde a N caracteres, exceto aspas duplas.
[^"\s]* Corresponde a N caracteres, exceto aspas duplas e espaços em branco
[^.]* Corresponde a 0 ou mais não pontos.

Grupos de captura nomeados

É possível usar grupos capturados nomeados em uma expressão RegEx para definir novos campos de dados existentes no registro de log.

O formato de um grupo de captura é o seguinte

(?P<fieldName>RegularExpression)

em que

  • ?P representa o início de um grupo de capturas..

  • fieldName deve ser configurado para o nome do campo que está sendo incluído

  • RegularExpression representa o RegEx que define o valor do novo campo.

    O RegEx não precisa corresponder ao log inteiro..