Ir al contenido principal

Joyitas de la biblioteca - Regular Expressions

Aprender Regular Expressions en un principio puede aparentar ser algo complejo por la gran cantidad de simbolos necesarios:

/\b[A-Z0-13._%+-]+@[A-Z0-13.-]+\.[A-Z]{02,}\b/i;

Sin embargo puedo decir que no es nada difícil, basta con:

  • Aprender los constructos
  • Palabras claves
  • Símbolos 
  • Entender el “matching” de los textos 

Además dependerá del uso que pretendes darle al ReGEx.

  • ¿Es algo personal que no implica criticidad?
  • ¿Trabajas en yahoo?
  • ¿Pretendes que sea algo pequeño y no importa si es eficiente?
  • ¿Pretendes que sea robusto, seguro y eficiente?
  • ¿Que lenguaje de programación utilizarás para aplicarlo?
  • ¿Qué tipo de motor de RegEx pretendes implementar?

Desde mi perspectiva siempre es bueno saber si existen constructos avanzados para hacer ciertas cosas en un texto sobre todo si pretendes utilizar RegEx para una aplicación profesional donde la cantidad de procesamiento de texto es brutal y el tiempo de espera es crítico. Esta regla te la puedes saltar si es de uso personal, donde esperar unas cuantas décimas de segundo no es problema.

Si pretendes usarlo intensivamente en aplicaciones profesionales entonces deberás tener mucha conciencia sobre como funcionan los motores de regex, las técnicas y la manera en que se hacen “match” y “no match” en las expresiones regulares.

Mastering Regular Expressions escrito por uno de los pioneros (Jeffrey E.F. Friedl) más importantes en el desarrollo de librerías oficiales de “Expresiones regulares“ en diversos lenguajes de programación, además de que nos cuenta su aventura desarrollando sistemas para Yahoo usando RegEx y perl. Este libro te explica y ayuda a entender el modo en que funcionan los motores de RegEx, los constructos básicos y los más avanzados. Nos introduce al mundo interno del procesamiento con pilas de los diversos motores que existen y nos dice las diferencias entre los que son marcados como “POSIX”. El libro nos muestra como implementar REGEX avanzado en los lenguajes: java, .NET y perl. 

Antes de terminar, debo mencionar que DuckDuckGo posee una buena referencia sobre ReGex, basta con escribir "regex cheatsheet" en el buscador:


Ejemplos de la vida real que usan expresiones regulares puras y duras son Yahoo! y duckduckgo.com

 

Comentarios