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
| 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 | 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 | 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
| 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
-
?Prepresenta o início de um grupo de capturas.. -
fieldNamedeve ser configurado para o nome do campo que está sendo incluído -
RegularExpressionrepresenta o RegEx que define o valor do novo campo.O RegEx não precisa corresponder ao log inteiro..