Menu
Coddy logo textTech

Conceptos Básicos de Expresiones Regulares

Parte de la sección Lógica y Flujo del Journey de Java de Coddy — lección 46 de 59.

Las Expresiones Regulares (regex) son patrones utilizados para buscar y validar cadenas. En Java, utilizamos el método matches() para verificar si una cadena coincide con un patrón.

Comprobar si una cadena contiene solo dígitos:

String text = "12345";
boolean isMatch = text.matches("[0-9]+");

Después de ejecutar el código anterior, isMatch contiene:

true

Verificar si una cadena contiene solo letras:

String text = "Hello";
boolean isMatch = text.matches("[a-zA-Z]+");

Después de ejecutar el código anterior, isMatch contiene:

true

challenge icon

Desafío

Fácil

Crea un método llamado validateInput que toma dos argumentos:

  1. Una String (text) para validar
  2. Una String (type) que especifica el tipo de validación

El método debe validar el texto según estos tipos:

  • "number": debe contener solo dígitos (0-9)
  • "word": debe contener solo letras (a-z o A-Z)
  • "email": debe contener @ y al menos un carácter antes de él
  • "phone": debe contener exactamente 10 dígitos

Los mensajes de retorno deben ser:

  • Si text es null: retornar "Invalid input"
  • Si type es inválido: retornar "Invalid type"
  • Si la validación pasa: retornar "Valid"
  • Si la validación falla: retornar "Invalid"

Hoja de referencia

Las expresiones regulares (regex) son patrones utilizados para buscar y validar cadenas. En Java, utiliza el método matches() para verificar si una cadena coincide con un patrón.

Verifica si una cadena contiene solo dígitos:

String text = "12345";
boolean isMatch = text.matches("[0-9]+");

Verifica si una cadena contiene solo letras:

String text = "Hello";
boolean isMatch = text.matches("[a-zA-Z]+");

Patrones regex comunes:

  • [0-9]+ - uno o más dígitos
  • [a-zA-Z]+ - uno o más letras
  • [0-9]{10} - exactamente 10 dígitos
  • .+@.+ - contiene @ con al menos un carácter antes de él

Pruébalo tú mismo

import java.util.Scanner;

public class Main {
    public static String validateInput(String text, String type) {
        // Escribe tu código aquí
    }
    
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String text = scanner.nextLine();
        String type = scanner.nextLine();
        
        if (text.equals("null")) text = null;
        System.out.println(validateInput(text, type));
    }
}
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Lógica y Flujo