Una de las herramientas más potentes al alcance de un desarrollador es, sin lugar a dudas, las expresiones regulares.
Están disponibles en cualquier lenguaje y plataforma que se te ocurra, y permiten hacer cosas increíbles a pesar de su aparente sencillez. Si no las dominas ya estás tardando...
Estas expresiones regulares pueden llegar a ser realmente complicadas, casi un lenguaje de programación en sí mismas, y a algunos programadores se les atragantan. Y es que a veces no es fácil dar con la combinación de símbolos apropiada.
Por ejemplo, una expresión regular para comprobar que un URL que introduce el usuario es válido podría ser la siguiente:
^(http)(s)?(\:\/\/)(www\.)?([^\ ]*)$
Como vemos no es nada fácil de interpretar (y menos de construir) si no dominas las expresiones regulares.
Gracias a la biblioteca Open Source llamada VerbalExpressions podemos escribir algo como esto para conseguir lo mismo:
var expRegular = VerEx()
.startOfLine()
.then('http')
.maybe('s')
.then('://')
.maybe('www.')
.anythingBut(' ')
.endOfLine();
Es decir, describimos con palabras normales (en inglés, eso sí) cómo queremos que se construya la expresión, encadenando llamadas a funciones de manera fluida. Una vez terminado genera por debajo la expresión regular y ya podemos utilizarla.
¡Una gran ayuda!
Lo mejor es que existen versiones de esta biblioteca para infinidad de lenguajes, como por ejemplo:
Pero hay muchos más. Tienes una lista actualizada siempre disponible en verbalexpression.github.io. Escoge el tuyo y simplifica ya tus expresiones regulares.