Expresiones Regulares (II)

Hasta ahora hemos visto expresiones regulares simples.

Estos símbolos pueden combinarse para formar búsquedas más complejas. Pero si los combinamos con los siguientes podremos buscar prácticamente cualquier cosa.

 

Símbolo   Significado

()

Los paréntesis nos serán de gran ayuda cuando realicemos búsquedas con expresiones regulares.

Con los paréntesis podemos agrupar caracteres y aplcarles una regla de regularidad. Por ejemplo:

(au)+la

Daría como resultados aula, auaula, auauaula, pero no la.

 

El uso de estos símbolos nos ayudará muchísimo cuando trabajemos con Expresiones Regulares.


[abc]

Los corchetes se utilizarán para establecer rangos o conjuntos de caracteres que serán incluidos en la busqueda.

De este modo

imagen_[abc]

Encontrará resultados como imagen_a, imagen_b o imagen_c.

 

También podemos establecer un rango para evitar tener que introducir todos los componentes del conjunto:

imagen_[c-f]

Que mostrará los resultados que contengan imagen_c, imagen_d, imagen_e o imagen_f.

 

Esta expresión es muy útil, imagina la siguiente búsqueda:

[a-zA-Z]+

Buscará cualquier cadena formada por mayúsculas o minúsculas (o incluso ambas mezcladas). Al añadirle el símbolo + hacemos que los caracteres indicados a la izquierda (el rango de mayúsculas o minúsculas) deban aparecer por lo menos una vez, así encontraremos cualquier tipo de palabra que no contenga caracteres numéricos.

Esta búsqueda encontraría, por ejemplo, las palabras Esta, cadena, SI, qUe, sE o EncuEntrA pero no sería capaz de encontrar sie7e o canción porque ni los números ni las letras acentuadas se encuentran en el rango [a-zA-Z].

 

La siguiente búsqueda incluiría números y acentos:

imagen_[a-záéíóú0-9]

Esta vez podríamos encontrar imagen_casa, imagen_07a, imagen_ladrón o imagen_f5ágh. Pero no imagen_A porque esta vez las mayúsculas no se han incluido.


[^abc]

Utiliza este símbolo eliminar caracteres de las búsquedas.

Por ejemplo:

imagen_[^0-9]

Sólo encontrará cadenas que empiecen por imagen_ y el siguiente carácter no sea numérico. Como por ejemplo, imagen_casa, imagen_ladrón o imagen_sie7e.

En este caso imagen_0casa no se encontraría.


\

Este es un símbolo muy especial, pues te permitirá buscar caracteres reservados como pueden ser +, ^, * o $ sin que se confundan como expresiones regulares.

Imagina que queremos buscar en concreto la cadena imagen_123* y la cadena imagen_456*, ¿cómo lo hacemos? Fácil, escribiendo:

imagen_(123|456)\*

 

Como puedes ver, buscará calquier cadena que contenga imagen_123 o imagen_456 seguida de un asterísco.

Si no hubiesemos añadido la barra de escape (imagen_(123|456)*) significaría que lo que se encuentra entre paréntesis podría repetirse varías veces o incluso ni aparecer.


 

Ahora veremos símbolos que nos ayudarán a reproducir estados especiales, como espacios, principios de palabra, tabulaciones, etc...


\b

Este símbolo representa un límite en una cadena de texto ya bien sea crado por un espacio o un retorno de carro.

Esto no sayudará a encontrar principios y finales de palabras.

Con la búsqueda:

\bs

Encontraríamos salida pero no cosa porque en este caso la s no se encuenta al principio de la palabra.

 

Del mismo modo,

s\b

Encontraría camas pero no salida.


\B

Este símbolo indica que el caracter se encuentra dentro de una cadena de texto y no en los límites.

Podríamos decir que esta expresión es contraria a la anterior.

Con la búsqueda:

\Bc

Encontraríamos ocaso pero no cama.


\d

Este símbolo sustituye a cualquier carácter numérico, es equivalente a la expresión [0-9].

La búsqueda:

sie\de

Encontraría sie7e pero no siete.


\D

Al contrario que el anterior, esta expresión equivale a un carácter no numérico, es equivalente a la expresión [^0-9].

La búsqueda:

sie\De

Encontraría siete pero no sie7e.


\w

Este símbolo sustituye a cualquier carácter alfanumérico incluyendo el subrayado, es equivalente a la expresión [a-ZA-Z0-9_].


\W

Al contrario que el anterior, esta expresión equivale a cualquier carácter que no sea alfanumérico ni el subrayado, es equivalente a la expresión [^a-zA-Z0-9_].


\s

Este símbolo representa un espacio en blanco.


\r

Este símbolo representa un retorno de carro.


\t

Este símbolo representa un salto de tabulador.

 




  Índice del curso

Seguir con el avanzado...




Página inicial  Cursos Informática Gratuitos

Síguenos en:   Facebook       Sobre aulaClic            Política de Cookies


© aulaClic. Todos los derechos reservados. Prohibida la reproducción por cualquier medio.