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ímbolo | Significado | 
|---|---|
. | Cualquier carácter | 
\d | Dígito (0-9) | 
\D | Carácter que no sea un dígito | 
\w | Letra, número o guion bajo | 
\W | Ni letra, ni numero ni guion bajo | 
\s | Espacio en blanco | 
\b | Límite de palabra | 
\B | Cará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