English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

解释Java正则表达式构造“ re?”。

Expression sous/Le méta-caractère "re?" correspond à l'expression précédente 0 ou1.

Exemple1

import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class RegexExample {
   public static void main( String args[] ) {
      String regex = "Wel?";
      String input = "Welcome to w3codebox";
      Pattern p = Pattern.compile(regex);
      Matcher m = p.matcher(input);
      int count = 0;
      while(m.find()) {
         count++;
      }
      System.out.println("Nombre de correspondances: ");+count);
   }
}

Résultat de la sortie

Nombre de correspondances: 1

Exemple2

Le programme Java suivant accepte une chaîne de l'utilisateur, vérifie si elle contient des lettres (deux cas) et accepte également des nombres.

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Test {
   public static void main( String args[] ) {
      String regex = "[a-zA-Z][0-9]?";
      Scanner sc = new Scanner(System.in);
      System.out.println("Entrez une chaîne d'entrée: ");
      String input = sc.nextLine();
      //Création d'un objet Pattern
      Pattern p = Pattern.compile(regex);
      //Création d'un objet Matcher
      Matcher m = p.matcher(input);
      if(m.find()) {
         System.out.println("Correspondance trouvée");
      } else {
         System.out.println("Aucun correspondance trouvé");
      }
   }
}

Sortie1

Entrez une chaîne d'entrée:
Texte d'exemple
Correspondance trouvée

Sortie2

Entrez une chaîne d'entrée:
Texte d'exemple 34 56
Correspondance trouvée

Sortie3

Entrez une chaîne d'entrée:
32 89 45 63
Aucun correspondance trouvé