Menu
Coddy logo textTech

Básicos de Expressões Regulares

Parte da seção Lógica e Fluxo do Journey de Java da Coddy — lição 46 de 59.

Expressões Regulares (regex) são padrões usados para pesquisar e validar strings. No Java, usamos o matches() método para verificar se uma string corresponde a um padrão.

Verifique se uma string contém apenas dígitos:

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

Após executar o código acima, isMatch contém:

true

Verificar se uma string contém apenas letras:

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

Após executar o código acima, isMatch contém:

true

challenge icon

Desafio

Fácil

Crie um método chamado validateInput que recebe dois argumentos:

  1. Uma String (text) para validar
  2. Uma String (type) que especifica o tipo de validação

O método deve validar o texto com base nestes tipos:

  • "number": deve conter apenas dígitos (0-9)
  • "word": deve conter apenas letras (a-z ou A-Z)
  • "email": deve conter @ e pelo menos um caractere antes dele
  • "phone": deve conter exatamente 10 dígitos

As mensagens de retorno devem ser:

  • Se text for null: retorne "Invalid input"
  • Se type for inválido: retorne "Invalid type"
  • Se a validação passar: retorne "Valid"
  • Se a validação falhar: retorne "Invalid"

Folha de consulta

Expressões Regulares (regex) são padrões usados para pesquisar e validar strings. Em Java, use o método matches() para verificar se uma string corresponde a um padrão.

Verifique se uma string contém apenas dígitos:

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

Verifique se uma string contém apenas letras:

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

Padrões regex comuns:

  • [0-9]+ - um ou mais dígitos
  • [a-zA-Z]+ - uma ou mais letras
  • [0-9]{10} - exatamente 10 dígitos
  • .+@.+ - contém @ com pelo menos um caractere antes dele

Experimente você mesmo

import java.util.Scanner;

public class Main {
    public static String validateInput(String text, String type) {
        // Escreva seu código aqui
    }
    
    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 iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Lógica e Fluxo