Saltar al contenido principal

Boletín 504. Expresiones regulares

En este boletín crearemos nuestras primeras expresiones regulares para llevar a cabo validaciones de datos.

Ejercicios

Ejercicio 1. Sigue los siguientes pasos:

  1. Crea una clase ExcepcionFechaInvalida que herede de Exception:
    • Crea un constructor que permita un mensaje personalizado.
  2. Escribe una clase Dia:
    • Almacenará un determinado día.
    • Crea un método boolean comprobarFormatoDia(String dia) que indique si es una fecha válida con el formato dd/MM/yyyy. Ten en cuenta que el día puede venir en uno o dos dígitos, al igual que el mes. En cuanto al año, este puede representarse en 2 o 4 dígitos.
    • Crea un método String cambiarFormato(String dia) que, para un formato donde el día puede venir en uno o dos dígitos, al igual que el mes, y el año puede venir en 2 o 4 cifras, lo devuelva en el siguiente formato: dd/MM/yyyy. NOTA: Si el año viene con solo 2 números, este corresponde al siglo XX.
    • Documenta los métodos.
    • Crea un constructor que reciba un día en formato cadena de texto. Este lanzará la excepción ExcepcionFechaInvalida si este parámetro no tiene el formato que comprueba el método boolean comprobarFormatoDia(String dia). Almacenará dicha fecha como un String con el formato dd/MM/yyyy.
    • Documenta los constructores.
    • Redefine el método toString() con el formato <dd/MM/yyyy>.
  3. Realiza un programa principal que:
    • Crea un ArrayList de Dia.
    • Crea un objeto Dia para cada una de las siguientes fechas del siguiente vector. Aquellas que tengan el formato correcto añádelas a la lista anterior.
      String[] fechas = {
      "2024-06-15",
      "15/06/2024",
      "6/15/2024",
      "15-06-2024",
      "2024.06.15",
      "15/6/2015",
      "15.06.24",
      "15 Junio 2024",
      "Junio 15, 2024",
      "2024/06/15",
      "1/1/2000",
      "15 de Junio de 2024",
      "31/04/99",
      };
    • Recorre la lista e imprime todas las fechas correctas.

Ejercicio 2. Sigue los siguientes pasos:

  1. Crea una clase EmailInvalidoException que herede de Exception:
    • Crea un constructor que permita un mensaje personalizado.
  2. Escribe una clase Email:
    • Almacenará un atributo para el correo electrónico.
    • Crea un método boolean comprobarEmail(String email) que indique si es un correo electrónico válido utilizando expresiones regulares.
    • Crea un método String getDominio() que devuelva el dominio del correo electrónico utilizando expresiones regulares.
    • Crea un método String getCuenta() que devuelva la cuenta del correo electrónico utilizando expresiones regulares.
    • Crea un método String getMessageError(String email) que devuelva el mensaje de error: "Esta cadena no es un correo: <email>".
    • Crea un setter para la cuenta de correo. Este lanzará la excepción EmailInvalidoException si este parámetro es un email inválido. Utiliza el método anterior para crear el mensaje de error y el método boolean comprobarEmail(String email) para realizar la comprobación del correo electrónico.
    • Documenta los métodos.
    • Crea un constructor que reciba un correo electrónico. No captures la excepción dentro.
    • Documenta los constructores.
    • Redefine el método toString() con el formato <dominio>: <cuenta>.
  3. Crea la clase EmailInstituto que herede de Email:
    • Redefine el método boolean comprobarEmail(String email) para que compruebe que es un email correcto del dominio ies.edu.
    • Redefine el método String getMessageError(String email) que devuelva el mensaje de error: "Esta cadena no es un correo del instituto: <email>".
    • Crea un constructor que reciba un correo electrónico y utiliza el constructor de la clase padre.
  4. Realiza un programa principal que: