Expresiones regulares.

Desde hace un tiempo usamos mucho expresiones regulares para buscar en archivos, fundamentalmente fuentes generados, para encontrar errores o patrones de sentencias que queremos detectar. Mi herramienta predilecta para esto es el Search&Replace de Funduc.

No había tenido necesidad de usar expresiones regulares en programas.
Para el desarrollo de KBDoctor (una extensión para GeneXus) hay un reporte que tiene que listar los objetos que tengan regla parm() sin especificar si los parámetros son de entrada y salida.
Para hacer mas o menos rápido dicho reporte, primero identificamos cuales son los objetos que tienen parámetros y al menos alguno de ellos es inout:, lo cual puede significar que no se especifico el uso del parámetro.
Luego recorremos las rules, usando expresiones regulares para extraer las lineas comentadas (con // y con /* */) y después sacamos la regla parm() y en ella nos fijamos si faltan IN:/OUT:/INOUT:.

Para el manejo de dichas expresiones regulares, busqué algunas herramientas.

Regulator.
Tiene una cantidad de opciones, pero no me resultó muy practico.

Expresso
Bien sencillo y práctico. Permite probar fácilmente la expresión regular y los resultados que devuelve el Match(). Muestra como queda el código C# de la expresión.

Genexus Rocha, tiene soporte para el manejo de expresiones regulares, lo cual va a posibilitar una cantidad de cosas nuevas que antes daba mucho trabajo de programar. Es bueno practicar con estas herramientas o algunas similares, porque el uso de expresiones regulares ahorra mucho tiempo de programación aburrida.

PD: Por si la quieren usar, una para validar direcciones de email. Les quedo un poco compleja

Comentarios

  1. Hola, trabajo con genexus 8.0 y quería saber si es posible usar expresiones regulares para validar un mail por ejemplo.
    Gracias.
    mi mail es :
    tonino545@gmail.com

    ResponderEliminar
  2. Creo que GeneXus 8.0, no tiene soporte nativo para expresiones regulares.
    Tendrias que hacer un programa externo (en VFP, Java, C#) que haga la validacion de la expresion regular y llamarlo para validar si el campo es un email valido o no.

    ResponderEliminar

Publicar un comentario

1) Lee el post
2) Poné tu opinión sobre el mismo.
Todos los comentarios serán leidos y la mayoría son publicados.

Entradas más populares de este blog

El Sordo

StackOverflow Documentation

Paleta de colores en GeneXus