Java – Expresiones regulares

Vamos a explicar como funcionan las expresiones regulares en Java.

Las expresiones regulares, pueden seleccionar la parte que nos interesa de un texto, de una página web, o de cualquier otra cosa que represente un String. Para ello, utilizamos un patrón para indicar que parte es la que queremos comprovar si coincide, buscar, reemplazar, o buscar.

Unos ejemplos de patrones serían los siguientes:

Para poder utilizar estos patrones, lo hacemos mediante la clase integrada de java Pattern. Con ella compilamos el patrón para que lo utilize como tal, y con la clase Matcher lo utilizamos, vamos a ver unos ejemplos:

Coincidencias:

En este caso el patrón coincide ya que es un carácter que está entre la h y la m, pero si en cambiamos el texto por hh, no coincidirá porque el patrón indique solo busque una letra, no varias.

Buscar

Vamos a ver otro ejemplo donde buscamos un patrón y indicamos en que posición de la cadena se encuentran las coincidencias:

En este caso buscamos todas las palabras que acaben en s, y el resultado es el siguiente:

Te está indicando que la posición en la que empieza el patrón s es en el carácter 47, y acaba en el carácter 48. Te indica que se ha encontrado, y además en que posición.

Reemplazar

Para reemplazar, utilizamos el método ReplaceFirst(), que reemplaza solo la primera coincidencia, o ReplaceAll(), que reemplaza todo lo encontrado:

El resultado sería el siguiente:

Otros ejemplos de utilización

Un ejemplo de utilización sería por ejemplo limpiar una cadena, quitando todos los números que se encuentre en una cadena:

El resultado sería:

En un ejemplo un poco mas concreto, podríamos intentar encontrar todas las imagenes de una página web:

Como último ejemplo, podemos coger solo una parte de la coincidencia utilizando () entre las partes que queramos cojer. Recordar que si queremos encontrar por ejemplo un paréntesis en el texto tenemos que usar \ para indicar que es un literal, y si queremos encontrar una \ en el texto, tenemos que indicar \\ para decir que \ es un literal:

El resultado sería:

También podemos utilizarlo para validar ip’s:

O para validar emails:

Podemos sacar ejemplos de utilización de aquí

2 pensamientos en “Java – Expresiones regulares”

  1. Como puedo realizar en un editor de texto para que cada linea del texto tenga un patron diferente?
    la primera linea quiero que lea puras letras y la segunda puros numeros?

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *