Expresiones Regulares
Bisoños Usuarios de GNU/Linux de Mallorca y Alrededores | Bergantells Usuaris de GNU/Linux de Mallorca i
Afegitons
Tutorial de Expresiones Regulares (198454 lectures)
Per Daniel Rodriguez, DaniRC (http://www.ibiza-beach.com/)
Creado el 30/07/2001 12:25 modificado el 15/02/2002 12:45
Había escrito otro articulo sobre los conceptos avanzados delas Expresiones Regulares(1) Pero seguía
faltando un tutorial que las acercara un poco más a todos nosotros.
SUPER Actualizado: Mas de 6 páginas nuevas, mas de 50 ejemplos nuevos, tutoriales completos de
GREP, SED, AWT, y mucho más! Todo gracias a la colaboración especial de un lector.
Nota: Todos los textos usados en el articulo son propiedad de sus respectivos autores y este artículounicamente pretende ser una via para su divulgación.
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 existamucha 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 aladministrador, 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 unapalabra 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? Buscauna frase que contenga la palabra "clave", ahora mira si esta entre
tag's de cursiva y ahora reemplaza por
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 dePERL. Sed por ejemplo no tiene porque
funcionar exactamente igual. Pero la idea es basicamente la misma.
1/5
BULMA: Tutorial de Expresiones Regulares
Presentando los carácteres especiales
[ ] cochetes
() parentesis
{} llaves
- guión
+ más
* asterisco
. Punto
^ circumflejo
$ dolar
? interrogante cerrado
| tuberia unix
\ barra invertida
(se usa para tratar de forma normal uncaracter especial)
/ barra del 7
Mención aparte para / puesto que es el simbolo que se usa para indicar la búsqueda. El resto son todo modificadores y
se pueden usar sin restricciones.
Definiendo Rangos
/[a-z]/ letras minusculas
/[A-Z]/ letras mayusculas
/[0-9]/ numeros
/[,'¿!¡;:\.\?]/ caracteres de puntuacion
-la barra invertida hace que
no se consideren como comando
ni en punto ni elinterrogante
/[A-Za-z]/
letras del alfabeto (del ingles claro ;)
/[A-Za-z0-9]/
todos los caracteres alfanumericos habituales
-sin los de puntuacion, claro/[^a-z]/
El simbolo ^ es el de negación. Esto es decir
TODO MENOS las letras minusculas.
/[^0-9]/
Todo menos los numeros.
Para definir otros rangos, no dudeis en usar el operador de rangos "-" por ejemplo de la h a la m [h-m] ¿vale?...
Regístrate para leer el documento completo.