Maison  >  Article  >  Java  >  Accepter la chaîne de date (format MM-jj-aaaa) à l'aide de l'expression régulière Java ?

Accepter la chaîne de date (format MM-jj-aaaa) à l'aide de l'expression régulière Java ?

WBOY
WBOYavant
2023-09-07 18:05:021333parcourir

Accepter la chaîne de date (format MM-jj-aaaa) à laide de lexpression régulière Java ?

Ce qui suit est une expression régulière qui correspond aux dates au format jj-MM-aaaa.

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

Faites correspondre les dates dans cette chaîne de format.

  • Compilez la classe d'expression Pattern de la méthode compile() ci-dessus.

  • Contournez la chaîne d'entrée requise en tant que paramètre de la méthode matcher() de la classe Pattern pour obtenir l'objet Matcher.

  • La méthode matches() de la classe Matcher renvoie vrai si une correspondance se produit, sinon elle renvoie faux. Par conséquent, cette méthode est appelée pour valider les données.

Exemple 1

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}$";
      //Creating a pattern object
      Pattern pattern = Pattern.compile(regex);
      //Matching the compiled pattern in the String
      Matcher matcher = pattern.matcher(date);
      boolean bool = matcher.matches();
      if(bool) {
         System.out.println("Date is valid");
      } else {
         System.out.println("Date is not valid");
      }
   }
}

Output

Date is valid

La méthode matches() de la classe String accepte une expression régulière et fait correspondre la chaîne actuelle avec elle, retournant si elle correspond true, sinon false est renvoyé. Alors, pour vérifier qu'une date donnée (au format chaîne) est conforme au format requis -

  • Récupérez la chaîne de date.
  • Appelez la méthode matches() en lui passant l'expression régulière ci-dessus en paramètre.

Exemple 2

import java.util.Scanner;
public class Just {
   public static void main(String[] args) {
      Scanner sc = new Scanner(System.in);
      System.out.println("Enter your name: ");
      String name = sc.nextLine();
      System.out.println("Enter your Date of birth: ");
      String dob = sc.nextLine();
      //Regular expression to accept date in MM-DD-YYY format
      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("Given date of birth is valid");
      } else {
         System.out.println("Given date of birth is not valid");
      }
   }
}

Sortie 1

Enter your name:
Janaki
Enter your Date of birth:
26/09/1989
Given date of birth is not valid

Sortie 2

Enter your name:
Janaki
Enter your Date of birth:
09/26/1989
Given date of birth is valid

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer