¿Qué son las expresiones regulares?

Las expresiones regulares (RegEx, Regular Expressions) son una serie de carácteres que nos permiten mediante un patrón buscar en una cadena o texto con el fin de reemplazar o reorganizar la información.

Es muy probable que aunque no te suene este concepto las hayas usado en alguna ocasión. Por ejemplo el uso más básico y común es el del símbolo * cuando en una búsqueda interna de nuestro ordenador queremos listar todos los documentos .doc tengan el nombre que sea.

cd
dir *.doc /s

Sin embargo las expresiones regulares son muy útiles cuando queremos comprobar URLs, emails, seguridad de contraseñas, direcciones IPs y un largo etcétera.

# EXPRESIÓN PARA VALIDAR UN EMAIL
^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*(.[a-z]{2,3})$

Su uso es muy utilizado en entornos de desarrollo por lo que numerosos lenguajes de programación como Java, PHP, Perl, Python, ... las soportan.

Aunque sean odiadas por muchos, también son amadas por otros y como se puede ver en la siguiente viñeta, nos pueden sacar de más de un apuro.