Tutorial de Expresiones Regulares
No hace mucho publique un artículo sobre la parte complicada de las
expresiones regulares, pero no caí en la cuenta de que no habia publicado
nadie en Bulma un tutorial para no iniciados. Así que me he puesto manos
a la obra. Esta vez no es una traducción, pero poco le falta, despues de todo
no es que exista mucha documentación en castellano al respecto, ¿verdad?.
Introducción
Las expresiones regulares vienen a ser una forma sofisticada de hacer un
bucar&reemplazar. En el mundo windows no tienen mucho sentido, despues
de todo alli casi todo va a base de clicks. Pero en el mundo Unix/Linux, en el
que casi todo son ficheros de texto, son casi una herramienta imprescindible.
No tan solo de cara al administrador, sino tambien de cara a cualquier otro
programador que puede ver como las expresiones regulares le salvan la vida en
mas de una ocasión.
Particularmente llevo un tiempecillo dedicado a la programación y diseño
web. No es de extrañar que un cliente que insistió en que su e-mail estuviera
en cada página con un mailto: cambie de mail. Tampoco es de extrañar que
hallas escrito una palabra mal 2 veces en 50 páginas distintas ... Y tampoco es
especialmente raro que tengas que ir con cuidado para que la informacion que
sacas no esté en el tag html adecuado. Por ejemplo ... hay clientes muy raritos
que quieren que todo lo que hasta ahora era cursiva ... se vuelve negrita, pero
solo si el contenido de la frase usa la palabra "clave".
¿Os imaginais este problema en MSWord? Busca una frase que
contenga la palabra "clave", ahora mira si esta entre tag's de
cursiva <i></i> y ahora reemplaza <i></i> por
<b></b>
Pues para estas cosas se inventaron las expresiones regulares ;)
Mientras espero con vosotros ese dia en que los clientes no me compliquen la
vida... es un consuelo saber que existen las
¡EXPRESIONES REGULARES!
Nota: Todo lo que explico esta basado en las expresiones regulares de PERL.
Sed por ejemplo no tiene porque funcionar exactamente igual. Pero la idea
es basicamente la misma. |