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