Java – Expresiones regulares

En Java las expresiones regulares se verifican con la ayuda de las clases Pattern y Matcher. Te mostramos un ejemplo que permite verificar si una cadena cumple con el patrón de una dirección de correo electrónico.

» Ver más ejemplos de Java

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

/**
 *
 * @author decodigo.com
 */
public class EjemploExpresionRegular {
    
    private static final String PATRON_CORREO_ELECTRONICO = 
		"^[_A-Za-z0-9-\\+]+(\\.[_A-Za-z0-9-]+)*@"
		+ "[A-Za-z0-9-]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$";
    
    public static void main(String args[]){
        
        String direccionCorreo = "corre_prueba@dominio.com";
        
        Pattern pattern = Pattern.compile(PATRON_CORREO_ELECTRONICO);
        Matcher matcher = pattern.matcher(direccionCorreo);        
        boolean resultado = matcher.matches();

        System.out.println("resultado: "+ resultado);
    }
}

En el ejemplo, es necesario declarar la expresión regular que será verificada en una cadena, esto lo hacemos con la constante PATRON_CORREO_ELECTRONICO.

Más adelante el patrón se «compila» con la ayuda de Pattern y el método compile, usamos el método matcher del cual obtenemos una instancia de Matcher, que nos dirá cual es el resultado de la verificación de la expresión sobre la cadena direccionCorreo.



Si ejecutas el ejemplo obtendrás este resultado:

Expresiones regulares en Java

Como puedes ver en la parte baja de la imagen, el resultado es que nuestra dirección de correo, cumple con la expresión, devolviendo true.

Existen distintos tipos de expresiones regulares en Java. Te mostramos otros ejemplos:

String PATRON_USERNAME = "^[a-z0-9_-]{3,15}$";
String PATRON_CONTRASENIA = "((?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%]).{6,20})";
String PATRON_EXTENSION_IMAGEN = "([^\s]+(\.(?i)(jpg|png|gif|bmp))$)";

Nota: los ejemplos son editados y ejecutados en NetBeans.

Más información en inglés: https://geekole.com/regular-expressions-in-java/