Heim >Java >javaLernprogramm >Datumszeichenfolge (MM-TT-JJJJ-Format) mit Java-Regex akzeptieren?

Datumszeichenfolge (MM-TT-JJJJ-Format) mit Java-Regex akzeptieren?

WBOY
WBOYnach vorne
2023-09-07 18:05:021459Durchsuche

Datumszeichenfolge (MM-TT-JJJJ-Format) mit Java-Regex akzeptieren?

Das Folgende ist ein regulärer Ausdruck, der Datumsangaben im Format TT-MM-JJJJ abgleicht.

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

Passen Sie Datumsangaben in dieser Formatzeichenfolge an.

  • Kompilieren Sie die Ausdrucksmusterklasse der oben genannten Methode „compile()“.

  • Umgehen Sie die erforderliche Eingabezeichenfolge als Parameter für die matcher()-Methode der Pattern-Klasse, um das Matcher-Objekt zu erhalten.

  • Die Methode „matches()“ der Klasse „Matcher“ gibt „true“ zurück, wenn eine Übereinstimmung auftritt, andernfalls gibt sie „false“ zurück. Daher wird diese Methode aufgerufen, um die Daten zu validieren.

Beispiel 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");
      }
   }
}

Ausgabe

Date is valid

Die Methode „matches()“ der String-Klasse akzeptiert einen regulären Ausdruck und gleicht die aktuelle Zeichenfolge damit ab und gibt zurück, wenn sie übereinstimmt true, andernfalls wird false zurückgegeben. Um also zu überprüfen, ob ein bestimmtes Datum (im Zeichenfolgenformat) dem erforderlichen Format entspricht:

  • Rufen Sie die Datumszeichenfolge ab.
  • Rufen Sie die Methode „matches()“ auf und übergeben Sie ihr den obigen regulären Ausdruck als Parameter.

Beispiel 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");
      }
   }
}

Ausgabe 1

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

Ausgabe 2

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

Das obige ist der detaillierte Inhalt vonDatumszeichenfolge (MM-TT-JJJJ-Format) mit Java-Regex akzeptieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen