Java Regular Expression y su uso

El manejo de Java Regular Expression en nuestro código es muy muy común. Las expresiones regulares se usan en el día a día para validar patrones de cadenas de forma rápida. Una de las webs que más utilizo para validar las expresiones regulares es 101 Regex.

Esta web nos permite de forma sencilla escribir un texto y asociar una expresión regular a él de tal forma que la valida sobre la marcha y nos muestra que subcadena o conjuntos de subcadenas coinciden con la. expresión regular. Vamos a ver un ejemplo sencillo.

En este caso hemos intentado buscar en el texto:

david 20
antnio 50
gema 30
ana 40

Las subcadenas que sean dígitos usando como expresión regular \d{2} que significa que tenemos que buscar dos dígitos exactamente.

Regular Expression y coincidencias

Como se puede ver tenemos en el menú de la derecha donde se han encontrado las coincidencias en nuestro texto.

Es momento de probar la expresión regular en nuestro código de Java y ver como es capaz de buscar coincidencias en una cadena e imprimirlas por la consola.

Java Regular Expression

package com.arquitecturajava;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Principal {

 public static void main(String[] args) {
  
  String texto="antonio 20  david 30 ana 40 gema 50";
  Pattern patron = Pattern.compile("\\d{2}", Pattern.CASE_INSENSITIVE);  
  Matcher m= patron.matcher(texto);
    
    while(m.find()) {
     
   System.out.println(m.group());
    }
 }

}

En este caso hemos usado la clase Pattern que define un patrón . Este patrón es el de doble dígito \d{2} lo que sucede es que el carácter \ es un carácter especial en Java y hay que escaparlo . Por ello lo que hemos hecho es poner una doble \ . Realizada esta operación se compila el patrón para poder usarlo.

Aplicamos el método matcher y le pasamos el texto. Esto nos devolverá un matcher que se parece a un iterador y permite recorrer todas las coincidencias a través del método find:

20
30
40
50

Acabamos de ver como realizar un manejo sencillo de Java Regular Expression buscando un conjunto de coincidencias dentro de un texto determinado.

Otros artículos relacionados