En nuestra carrera como programadores nos encontramos con muchas herramientas que nos solucionan la vida al afrontar un desarrollo, muchas de éstas son abocadas a resolver un problema en particular, sin embargo otras pueden servirnos para múltiples ámbitos. En éste artículo nos vamos a enfocar en una herramienta como la del segundo tipo, las expresiones regulares.

¿Qué son las expresiones regulares?

Las expresiones regulares (Regex o Regexp) simplemente son una manera de buscar patrones dentro de un conjunto de datos (datasets). Dentro de estos conjuntos de datos podemos encontrar directorios telefónicos, datos de ventas, tablas en bases de datos, código de un programa e incluso este artículo.
Cabe destacar que las Regex no son un lenguaje de programación pero se encuentran soportadas por casi todos los lenguajes de programación como por ejemplo Java, Go, Python, Ruby, Javascript e incluso están incluidas en Linux en una utilidad llamada grep.

¿En que ámbitos nos sirven las Regex?

Un ejemplo claro donde se pueden utilizar las Regex son en la validación de contraseñas. Al querer crear una contraseña muchas veces se nos pide que tenga una longitud específica, que tenga caracteres especiales (Ej @,#,$), que contenga números, etc.

                                                                                                                                                

 

Comúnmente estamos acostumbrados a utilizar otras herramientas para la búsqueda de un dato un en conjunto extenso de caracteres, un ejemplo de ello es el shortcut ctrl + f (Windows) ó command + f (Mac). Esta herramienta es útil, pero está limitada, ya que la búsqueda que realiza es exacta y no admite ampliar el patrón de búsqueda. Notepad++ es un editor de texto que tiene incorporadas las Regex para la búsqueda de palabras.

                                                                                                                                                                                                                                               

Si tenemos instalado en nuestra computadora el programa Notepad++ podemos hacer este ejemplo:

Tenemos en un archivo de texto las siguientes palabras:

fooabar
fooaabar
fooaaabar
foobar
fooxxxbar
foozzzbar

Si queremos realizar una búsqueda y que la misma solo nos marque como valida las primeras cuatro palabras, si usamos el modo de búsqueda normal no encontraremos la forma de que nos marque las palabras que queremos. Pero al utilizar el modo de búsqueda de expresión regular podemos definir un patrón para que solo nos marque las primeras cuatro palabras.

Como primer paso vemos que patrón se repite:

  • Las palabras empiezan con foo
  • Las palabras terminan con bar
  • Dentro de las palabras que queremos que se marquen vemos que se repite que entre foo y bar encontramos de cero a tres letras a

Como primer concepto en Regex el asterisco (*) nos indica que el caracter anterior se repite cero o mas veces

Por lo que la Regex nos quedaría así fooa*bar. Si la utilizamos en el buscador obtendremos el resultado esperado.

                                                                                      

 

Estos ejemplos son muy básicos aunque valiosos para tener una primera aproximación a las Regex y su uso. En próximos artículos ahondaremos aún más en las bases de las Regex y sus reglas. Muchas gracias por leer mi artículo.

 

Mandanos tus sugerencias

Ayudanos con ideas para los artículos de este blog a contacto@somospnt.com

¡Seguínos en nuestras redes sociales para enterarte de los últimos posts!