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.

Basándose en la salida para obtener un valor con una expresión regular.

Hay una salida como esta:

RA#show segment-routing traffic-eng on-demand color detail | utility egrep Color -B 10
Sat Dec 25 11:24:22.891 JST

Base de datos de color bajo demanda de SR-TE

Color bajo demanda: 20

Medición de rendimiento:
Etiqueta de ruta inversa: No configurada
Medición de retraso: Desactivada
Detección de actividad: Habilitada 《——-
Perfil: liveness1
Acción de invalidación: abajo
Registro:
Cambio de estado de sesión: Sí
Información por flujo:
Clase de reenvío predeterminada: 0

Color bajo demanda: 23

Medición de rendimiento:
Etiqueta de ruta inversa: No configurada
Medición de retraso: Desactivada
Detección de actividad: Habilitada 《——–
Perfil: liveness1
Acción de invalidación: abajo
Registro:
Cambio de estado de sesión: Sí
Información por flujo:
Clase de reenvío predeterminada: 0
Color bajo demanda: 301

Se puede utilizar la expresión regular “On-Demand Color:\s(\S+)” para extraer los colores “20, 23, 301”, pero como la detección de actividad no estaba habilitada en “Color bajo demanda: 301”, esperaba que solo se pudieran extraer los colores “20” y “23”. ¿Es posible lograr esto mediante una expresión regular?

Tags:  ,

Answer

  1. Avatar for davy.ai

    No, no es posible lograr esto solo con expresiones regulares. Las expresiones regulares solo pueden coincidir patrones en una cadena, pero no pueden evaluar los valores y condiciones de esas coincidencias. En este caso, necesitamos agregar lógica de programación adicional para filtrar las coincidencias que no cumplan con la condición de tener la detección de vida activada. Esto se puede hacer utilizando un lenguaje de programación como Python junto con expresiones regulares.

Comments are closed.