Expresiones Regulares

Clase 13 de 43Curso de Programación en Bash Shell

Cuando se solicita ingresar información través de un programa por parte del usuario que está utilizando el programa, independientemente el lenguaje que esté realizado; es importante considerar la validación de la información no solo en su tamaño sino también en los tipos de datos, formatos soportados lo cual nos permite asegurar la calidad de la información que recibimos, almacenamos y procesamos.

Dentro de este contexto en la programación bash para cumplir con este objetivo se utiliza expresiones regulares, las cuales son básicamente cadenas de caracteres que definen un patrón de búsqueda que se valida frente a una información específica para asegurar que cumple la validación definida.

Se necesita conocer ciertos criterios utilizados en las expresiones regulares que son los siguientes:

  • ^.- Caracter que representa el inicio de la expresión regular.
  • $.- Caracter que representa el final de la expresión regular.
  • *.- Caracter que representa cero o más ocurrencias de la expresión
  • +.- Caracter que representa una o más ocurrencias de la expresión.
  • {n}.-Representa n veces de una expresión.
  • .- Representa un conjunto de caracteres, por ejemplo: [a-z] representa las letras del abecedario de la a a la z.

Tomando en cuenta estos criterios se realizará un programa que valida la siguiente información: Número de Identificación de un tamaño de 10 números. Ejemplo: 1717836520 País de Origen denotado por dos letras en un rango específico. Ejemplo: EC, CO, US Fecha de Nacimiento en el formato yyyyMMDD. Ejemplo: 20181222

Primero se definirá las expresiones regulares y se solicitará la información del usuario:

Captura de pantalla 2019-01-16 a la(s) 15.58.48.png

Luego se validará cada expresión regular comenzando con la identificación, para lo cual para cada validación se utilizará la sentencia condicional if y para comparar la expresión se debe utilizar el siguiente formato especial if [[ $variable =~ $expresionRegular ]] como se muestra a continuación.

Captura de pantalla 2019-01-16 a la(s) 15.59.26.png

Se realizará la ejecución de la aplicación con los dos escenarios el correcto y el incorrecto como se muestra a continuación:

Captura de pantalla 2019-01-16 a la(s) 15.59.55.png

Finalmente el código fuente lo pueden encontrar en el repositorio de GitHub en el branch 7.ValidarInformacion