regex
Utilice el comando regex para filtrar los datos según una expresión regular especificada.
Sintaxis
Los comandos de procesamiento de cadenas como regex utilizan muchos recursos. Debido a esto, no se recomienda ejecutar el comando regex en un gran número de registros de log o en valores de campo grandes. En su lugar, extraiga estos valores utilizando las definiciones de campos ampliados (EFD) o las etiquetas del origen de log.
Para escribir consultas de expresión regular de realización, consulte la sintaxis RE2J en Implementación de Java de RE2.
regex <field> [=|!= <regular expression>] | [IN | NOT IN (<regular expression> [(,<regular expression>)*])]Parámetros
En la siguiente tabla se muestran los parámetros utilizados en este comando, junto con sus descripciones.
| Parámetro | Descripción |
|---|---|
|
|
Especifique el campo que se va a analizar. |
|
|
Especifique la expresión regular. |
Tenga en cuenta el siguiente juego de registros de ejemplo que representan los nombres de entidades para ejecutar algunas consultas de expresiones regulares de ejemplo:
slc07cuc
slc07ptt
slc07ptt:8452
stuyb43
stuyb43:1831| Requisito de filtro | Comando de ejemplo de expresión regular | Resultados de la búsqueda |
|---|---|---|
Para representar un único carácter con .
|
* | regex 'entity' = 'slc07ptt:845.'|distinct entity |
slc07ptt:8452 |
Para detectar una o más coincidencias con el carácter + |
* | regex 'entity' = 'slc07ptt.+'|distinct entity |
slc07ptt:8452 |
Para detectar cero o más coincidencias con el carácter * |
* | regex 'entity' = 'slc07ptt.*'|distinct entity |
slc07ptt
|
Para detectar cero o una coincidencia mediante el carácter comodín ? |
* | regex 'entity' = 'slc07ptt?'|distinct entity |
slc07ptt |
| Para especificar los resultados mínimo y máximo de la consulta | * | regex 'entity' = 'slc07p{1,2}'|distinct entity |
slc07ptt
|
| Para proporcionar opciones alternativas para un carácter específico | * | regex 'entity' = 'slc07pt(T|t)'|distinct entity |
slc07ptt |
Para especificar un complemento con el carácter ~
|
* | regex 'entity' = 'slc~c'|distinct entity |
slc07cuc |
Para especificar un rango numérico mediante la opción de intervalo <> |
* | regex 'entity' = 's.*<1-43>.*'|distinct entity |
stuyb43
|
Para unir dos patrones de forma que ambos coincidan, utilice la opción de intersección & |
* | regex 'entity' = '.*43&.*tu.'|distinct entity |
stuyb43
|
Para hacer coincidir cualquier cadena en su totalidad mediante la opción @
|
* | regex 'entity' = '@'|distinct entity |
slc07cuc
|
Para buscar los registros filtrando las opciones específicas con el carácter distinto de != |
* | regex 'entity' = 'slc07.+'|distinct entity |
stuyb43
|
Para buscar registros que contengan los caracteres 2 y 5, especifique la expresión booleana IN |
* | regex 'entity' in ('.*2.*', '.*5.*')|distinct entity |
slc07ptt:8452 |
Para buscar registros que no contengan los caracteres 1 y 2, especifique la expresión booleana NOT IN |
* | regex 'entity' not in ('.*1.*', '.*2.*')|distinct entity |
slc07cuc
|
| Para especificar varias consultas de expresión regular | * | regex 'entity' = '[^1]+' | regex 'entity' = '[^5]+' |distinct entity |
slc07cuc
|
Para buscar los registros especificando la clase de carácter que niega la presencia de los caracteres del 1 al 6 mediante la opción ^ |
* | regex 'entity' = 'slc0[^1-6].*' |distinct entity |
slc07cuc
|
Para buscar los registros especificando la clase de caracteres para la presencia de los caracteres del 3 al 8. |
* | regex 'entity' = 'slc0[3-8].*' |distinct entity |
slc07cuc
|
Para buscar los registros especificando la clase de caracteres para la presencia de los caracteres 1 o 2. |
* | regex 'entity' = 's.*[12].*'|distinct entity |
slc07ptt:8452
|