es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Una consulta regex en Grafana

Tengo este nombre de proyecto en Jenkins:

dir1/dir2/dir3/nombreproyecto

Ahora, quiero extraer y guardar cada directorio [dir1, dir2, dir3] en una variable diferente, así como el nombre del proyecto. Por ejemplo: var1: dir1, var2: dir2, var3: dir3, nombreproyecto: nombreproyecto. He utilizado muchas expresiones regulares, pero lamentablemente aún no puedo hacerlo.
Mi último intento es:

/(.*)//

Pero no funciona correctamente.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para extraer y guardar cada componente de directorio dir1, dir2 y dir3, así como el nombre del proyecto projectname, puedes utilizar la siguiente expresión regular:

    ^([^\/]*)\/([^\/]*)\/([^\/]*)\/([^\/]*)$
    

    Esta expresión regular coincide con toda la cadena dir1/dir2/dir3/projectname y captura cada componente de directorio y el nombre del proyecto como un grupo separado ($1, $2, $3, $4).

    Para desglosarlo:

    • ^: Coincide con el inicio de la línea.
    • ([^\/]*): Coincide con cualquier número de caracteres que no sean una barra diagonal / y los captura como el primer grupo ($1). Esto coincide con dir1.
    • \/: Coincide con un carácter de barra diagonal /.
    • ([^\/]*): Coincide con cualquier número de caracteres que no sean una barra diagonal / y los captura como el segundo grupo ($2). Esto coincide con dir2.
    • \/: Coincide con un carácter de barra diagonal /.
    • ([^\/]*): Coincide con cualquier número de caracteres que no sean una barra diagonal / y los captura como el tercer grupo ($3). Esto coincide con dir3.
    • \/: Coincide con un carácter de barra diagonal /.
    • ([^\/]*): Coincide con cualquier número de caracteres que no sean una barra diagonal / y los captura como el cuarto grupo ($4). Esto coincide con projectname.
    • $: Coincide con el final de la línea.

    Para extraer estos valores y asignarlos a variables en Grafana:

    • Abre el editor de variables en tu panel de control.
    • Agrega una nueva variable.
    • Elige el tipo de variable “Personalizada”.
    • Ingresa un nombre para la variable (por ejemplo, dir1).
    • Ingresa la expresión regular en el campo “Regex”.
    • Agrega un nuevo “Grupo de captura” y establece el “Índice” en 1 (para capturar el primer grupo, que es dir1).
    • Repite este proceso para cada componente de directorio (dir2 y dir3).
    • Para el nombre del proyecto, utiliza la expresión regular completa sin ningún grupo de captura.
    • Asigna cada variable a una fuente de datos separada si es necesario.
    • Guarda la variable y úsala en tus paneles de Grafana según sea necesario.

    Con esta configuración, deberías poder extraer y guardar cada componente de directorio y el nombre del proyecto como variables separadas en Grafana.

Comments are closed.