Una librería con libros holográficos hechos de código fuente.

Expresiones Regulares en Java: Introducción

Introducción a las Expresiones Regulares

Las expresiones regulares (regex) son una herramienta muy poderosa para buscar y manipular texto basándose en patrones. En programación, se usan para validar datos, encontrar coincidencias en cadenas y realizar reemplazos automáticos.

En Java, las expresiones regulares se implementan principalmente con las clases del paquete java.util.regex:

  • Pattern: Compila una expresión regular en un objeto que se puede reutilizar.
  • Matcher: Aplica el patrón sobre una cadena de texto y permite analizar coincidencias.

¿Por qué aprender expresiones regulares?

Las expresiones regulares son útiles en muchas aplicaciones:

  • Validación de datos: correos electrónicos, números de teléfono y contraseñas.
  • Extracción de información de textos largos.
  • Búsqueda y reemplazo de texto en documentos o bases de datos.

Sintaxis Básica de Expresiones Regulares

Antes de ver ejemplos prácticos, es importante conocer el significado dentro de una expresión regular de ciertos símbolos especiales:

SímboloSignificado
.Cualquier carácter
\dDígito (0-9)
\DCarácter que no sea un dígito
\wLetra, número o guion bajo
\WNi letra, ni numero ni guion bajo
\sEspacio en blanco
\bLímite de palabra
\BCarácter no límite de palabra
+Uno o más elementos previos
*Cero o más repeticiones del elemento previo
?Cero o uno del elemento previo
|Alternativa
[]Conjunto de caracteres
[^]Negación de un conjunto de caracteres
()Crea un grupo
{n}Exactamente n repeticiones
{n,}Al menos n repeticiones
{n,m}Entre n y m repeticiones
^Inicio de línea
$Fin de línea
\Carácter de escape

Ejemplo básico: El patrón \d+ busca una o más cifras en una cadena de texto.

import java.util.regex.*;

public class EjemploRegex {
    public static void main(String[] args) {
        String texto = "El precio es 120 euros";
        Pattern patron = Pattern.compile("\\d+");
        Matcher matcher = patron.matcher(texto);
        
        while (matcher.find()) {
            System.out.println("Número encontrado: " + matcher.group());
        }
    }
}

Salida:

Número encontrado: 120


Ejemplos de Uso en Java

1. Búsqueda de Patrones

Podemos buscar palabras específicas dentro de un texto:

String texto = "Java es un lenguaje de programación.";
Pattern patron = Pattern.compile("Java");
Matcher matcher = patron.matcher(texto);
System.out.println("¿Contiene la palabra Java? " + matcher.find());

Salida esperada:

¿Contiene la palabra Java? true

2. Validación de Datos

Validar número de teléfono (formato español: 9 cifras seguidas o con espacios intermedios):

String telefono = "612 345 678";
String regex = "^\\d{3}\s?\\d{3}\s?\\d{3}$";
System.out.println("¿Teléfono válido? " + telefono.matches(regex));

3. Reemplazo de Texto con Expresiones Regulares

Reemplazar todas las vocales por un asterisco:

String texto = "Hola, mundo";
String resultado = texto.replaceAll("[aeiouAEIOU]", "*");
System.out.println(resultado);

Salida esperada:

H*l*, m*nd*


Conclusión y Próximos Pasos

En esta primera entrada sobre expresiones regulares hemos aprendido:

  • Qué son las expresiones regulares y por qué son útiles.
  • La sintaxis básica de las regex.
  • Cómo usarlas en Java para buscar patrones, validar datos y reemplazar texto.

En la siguiente entrada profundizaremos en patrones más complejos y técnicas avanzadas para trabajar con expresiones regulares en Java.


Deja una respuesta

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

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.