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

Utilisez-vous les expressions régulières Java pour accepter des chaînes de dates (MM-dd-yyyy format) ?

以下是与dd-MM-yyyy格式的日期匹配的正则表达式。

^(1[0-2]|0[1-9])/(3[01]|[12][0-9]|0[1-9])/[0-9]{4}

以该格式匹配字符串中的日期。

  • 编译compile()Pattern类的方法的以上表达式。

  • 绕过所需的输入字符串作为matcher()Pattern类的方法的参数,获取Matcher对象。

  • matches()如果发生匹配,则Matcher类的方法返回true,否则返回false。因此,调用此方法以验证数据。

Exemple1

import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class MatchingDate {
   public static void main(String[] args) {
      String date = "01/12/2019";
      String regex = "^(1[0-2]|0[1-9])/(3[01]|[12][0-9]|0[1-9])/[0-9]{4$";}
      //创建一个模式对象
      Pattern pattern = Pattern.compile(regex);
      //匹配字符串中的已编译模式
      Matcher matcher = pattern.matcher(date);
      boolean bool = matcher.matches();
      if(bool) {
         System.out.println("La date est valide");
      } else {
         System.out.println("La date n'est pas valide");
      }
   }
}

Résultat de la sortie

La date est valide

matches()La méthode de la classe String accepte une expression régulière et la compare avec la chaîne actuelle, renvoie true si elles correspondent, sinon renvoie false. Par conséquent, il faut vérifier si la date donnée (au format chaîne) est au format nécessaire-

  • Obtenir la chaîne de date

  • matches()Appel la méthode en passant la expression régulière ci-dessus en paramètre.

Exemple2

import java.util.Scanner;
public class Just {
   public static void main(String[] args) {
      Scanner sc = new Scanner(System.in);
      System.out.println("Entrez votre nom: ");
      String name = sc.nextLine();
      System.out.println("Entrez votre date de naissance: ");
      String dob = sc.nextLine();
      //L'expression régulière commence par MM-DD-Format YYY accepte la date
      String regex = "^(1[0-2]|0[1-9])/(3[01]|[12][0-9]|0[1-9])/[0-9]{4$";}
      boolean result = dob.matches(regex);
      if(result) {
         System.out.println("La date de naissance fournie est valide");
      } else {
         System.out.println("La date de naissance fournie n'est pas valide");
      }
   }
}

Sortie1

Entrez votre nom:
Janaki
Entrez votre date de naissance:
26/09/1989
La date de naissance fournie n'est pas valide

Sortie2

Entrez votre nom:
Janaki
Entrez votre date de naissance:
09/26/1989
La date de naissance fournie est valide
Vous pourriez aussi aimer