Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

Haga lo que hicimos: expresiones regulares

Expresión regular requerida

Formato: 6 dígitos – guion – 2 dígitos – /MX

En Java (escapando correctamente):
@Pattern(regexp = "^\d{6}-\d{2}/MX$")

Explicación rápida del regex:

^ → inicio de la cadena

\d{6} → seis dígitos

  • → guion literal

\d{2} → dos dígitos

/MX → texto literal /MX

$ → fin de la cadena

En Java siempre debes usar \d (doble backslash).
Un solo \d no funciona en strings de Java.

1 respuesta

¡Hola Alexis, espero que estés bien!

Parece que estás en el camino correcto con la expresión regular que has propuesto. Según el nuevo formato que mencionaste para la Cédula Profesional, la expresión regular que necesitas es exactamente la que has escrito:

@Pattern(regexp = "^\\d{6}-\\d{2}/MX$")

Esta expresión regular se ajusta al formato requerido de seis dígitos, seguidos por un guion, dos dígitos y el texto literal "/MX". Además, como bien has explicado, en Java es necesario usar doble backslash (\\) para escapar caracteres especiales en las cadenas de texto.

Si estás actualizando el atributo cedulaProfesional en la clase DatosRegistroMedico, asegúrate de reemplazar la expresión regular anterior con la nueva que has creado. Aquí tienes un ejemplo de cómo podría quedar:

public class DatosRegistroMedico {
    @Pattern(regexp = "^\\d{6}-\\d{2}/MX$")
    private String cedulaProfesional;

    // otros atributos y métodos
}

Espero que esto te ayude a implementar el nuevo formato correctamente. ¡Bons estudios!