Menu
Coddy logo textTech

Bases des expressions régulières

Fait partie de la section Logique & Flux du Journey Java de Coddy — leçon 46 sur 59.

Les expressions régulières (regex) sont des motifs utilisés pour rechercher et valider des chaînes de caractères. En Java, nous utilisons la matches() méthode pour vérifier si une chaîne correspond à un motif.

Vérifier si une chaîne contient uniquement des chiffres :

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

Après l'exécution du code ci-dessus, isMatch contient :

true

Vérifier si une chaîne contient uniquement des lettres :

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

Après l'exécution du code ci-dessus, isMatch contient :

true

challenge icon

Défi

Facile

Créez une méthode nommée validateInput qui prend deux arguments :

  1. Une String (text) à valider
  2. Une String (type) qui spécifie le type de validation

La méthode doit valider le texte en fonction de ces types :

  • "number" : doit contenir uniquement des chiffres (0-9)
  • "word" : doit contenir uniquement des lettres (a-z ou A-Z)
  • "email" : doit contenir @ et au moins un caractère avant
  • "phone" : doit contenir exactement 10 chiffres

Les messages de retour doivent être :

  • Si text est null : return "Invalid input"
  • Si type est invalide : return "Invalid type"
  • Si la validation réussit : return "Valid"
  • Si la validation échoue : return "Invalid"

Aide-mémoire

Les expressions régulières (regex) sont des motifs utilisés pour rechercher et valider des chaînes. En Java, utilisez la méthode matches() pour vérifier si une chaîne correspond à un motif.

Vérifiez si une chaîne contient uniquement des chiffres :

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

Vérifiez si une chaîne contient uniquement des lettres :

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

Motifs regex courants :

  • [0-9]+ - un ou plusieurs chiffres
  • [a-zA-Z]+ - un ou plusieurs lettres
  • [0-9]{10} - exactement 10 chiffres
  • .+@.+ - contient @ avec au moins un caractère avant

Essayez vous-même

import java.util.Scanner;

public class Main {
    public static String validateInput(String text, String type) {
        // Écrivez votre code ici
    }
    
    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 iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Logique & Flux