miércoles, 13 de abril de 2016

EXPRESIONES REGULARES




                                            EXPRESIÓN REGULAR

Una expresión regular, a menudo llamada también regex, es una secuencia de caracteres que forma un patrón de búsqueda, principalmente utilizada para la búsqueda de patrones de cadenas de caracteres u operaciones de sustituciones.

el objetivo de las expresiones regulares es representar todos los posibles lenguajes definidos sobre un alfabeto ∑, en base a una serie de lenguaje primitivos,  y unos operadores de composición.

        CONSTRUCCIÓN DE EXPRESIONES REGULARES

Específicamente, las expresiones regulares se construyen utilizando los operadores unión, concatenación y clausura de Kleene. Además cada expresión regular tiene un autómata finito asociado.

Alternación:
Una barra vertical separa las alternativas. Por ejemplo, "marrón|castaño" se corresponde con marrón o castaño.

Cuantificación:
Un cuantificador tras un carácter especifica la frecuencia con la que éste puede ocurrir. Los cuantificadores más comunes son ?, + y *.

?: El signo de interrogación indica que el carácter que le precede puede aparecer como mucho una vez. Por ejemplo, "ob?scuro" se corresponde con oscuro y obscuro.

+: El signo más indica que el carácter que le precede debe aparecer al menos una vez. Por ejemplo, "ho+la" describe el conjunto infinito hola, hoola, hooola, hoooola, etcétera.

*: El asterisco indica que el carácter que le precede puede aparecer cero, una, o más veces. Por ejemplo, "0*42" se corresponde con 42, 042, 0042, 00042, etcétera.
Agrupación:
Los paréntesis pueden usarse para definir el ámbito y precedencia de los demás operadores. Por ejemplo, "(p|m)adre" es lo mismo que "padre|madre", y "(des)?amor" se corresponde con amor y con desamor.
Los constructores pueden combinarse libremente dentro de la misma expresión, por lo que "H(ae?|ä)ndel" equivale a "H(a|ae|ä)ndel".
La sintaxis precisa de las expresiones regulares cambia según las herramientas y aplicaciones consideradas, y se describe con más detalle a continuación.

                                

                                        APLICACIONES    



Su utilidad más obvia es la de describir un conjunto de cadenas para una determinada función, resultando de utilidad en editores de texto y otras aplicaciones informáticas para buscar y manipular textos.
Numerosos editores de texto y otras herramientas utilizan expresiones regulares para buscar y reemplazar patrones en un texto. Por ejemplo, las herramientas proporcionadas por las distribuciones de Unix (incluyendo el editor sed y el filtro grep) popularizaron el concepto de expresión regular entre usuarios no programadores, aunque ya era familiar entre los programadores.
Inicialmente, este reconocimiento de cadenas se programaba para cada aplicación sin mecanismo alguno inherente al lenguaje de programación pero, con el tiempo, se ha ido incorporado el uso de expresiones regulares para facilitar programar la detección de ciertas cadenas. Por ejemplo, Perl tiene un potente motor de expresiones regulares directamente incluido en su sintaxis. Otros lenguajes lo han incorporado como funciones específicas sin incorporarlo a su sintaxis.


      EXPRESIONES REGULARES EN PROGRAMACIÓN



En el área de la programación las expresiones regulares son un método por medio del cual se pueden realizar búsquedas dentro de cadenas de caracteres. Sin importar la amplitud de la búsqueda requerida de un patrón definido de caracteres, las expresiones regulares proporcionan una solución práctica al problema. Adicional mente, un uso derivado de la búsqueda de patrones es la validación de un formato específico en una cadena de caracteres dada, como por ejemplo fechas o identificadores.
Para poder utilizar las expresiones regulares al programar es necesario tener acceso a un motor de búsqueda con la capacidad de utilizarlas. Es posible clasificar los motores disponibles en dos tipos según su uso: motores para el programador y motores para el usuario final.

SÍMBOLOS COMUNES EN EXPRESIONES REGULARES


METACARACTERES



CUANTIFICADORES




A continuación los tipos de datos que utiliza el leguaje VJR  hechos  con expresiones regulares.









Si aun no te queda claro lo que es una expresión regular puedes ver el siguiente video:






Si deseas consultar otros blogs  sobre expresiones regulares puedes ver los siguientes:

http://aautomatas.blogspot.mx/p/videos.html
http://expresionesregular.blogspot.mx/

4 comentarios:

  1. Excelente aportación solo quisiera saber, ¿para que utilizan la libreria java.time.Clock?

    ResponderEliminar
  2. hace mención del funcionamiento y estructura de las expresiones regulares por lo que facilita el entendimiento e implementación en el código.

    ResponderEliminar
  3. Me agrada el diseño y la comparacion entre los temas, es importante destacar la importancia entre diseño y programacion, buen aporte.

    ResponderEliminar
  4. Muy buen aporte, el diseño es amable a la vista y muy bien editado.

    ResponderEliminar