regex

Utilice el comando regex para filtrar los datos según una expresión regular especificada.

Sintaxis

Nota

Los comandos de procesamiento de cadenas como regex hacen un uso intensivo de los recursos. Debido a esto, no se recomienda ejecutar el comando regex en un gran número de registros de log o grandes valores de campo. En su lugar, extraiga estos valores mediante las definiciones de campos ampliados (EFD) o las etiquetas del origen de log.

Para escribir consultas regex eficaces, consulte la sintaxis de RE2J en Implantació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

field

Especifique el campo que se va a analizar.

regular expression

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

slc07ptt:8452

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

slc07ptt:8452

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

stuyb43:1831

Para unir dos patrones de forma que ambos coincidan, utilice la opción de intersección & * | regex 'entity' = '.*43&.*tu.'|distinct entity stuyb43

stuyb43:1831

Para hacer coincidir cualquier cadena en su totalidad mediante la opción @ * | regex 'entity' = '@'|distinct entity slc07cuc

slc07ptt

slc07ptt:8452

stuyb43

stuyb43:1831

Para buscar los registros filtrando las opciones específicas con el carácter distinto de != * | regex 'entity' = 'slc07.+'|distinct entity stuyb43

stuyb43:1831

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

slc07ptt

stuyb43

Para especificar varias consultas de expresión regular * | regex 'entity' = '[^1]+' | regex 'entity' = '[^5]+' |distinct entity slc07cuc

slc07ptt

stuyb43

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

slc07ptt

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

slc07ptt

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

stuyb43:1831