ホームページ  >  記事  >  Java  >  Java 正規表現を使用して日付文字列 (MM-dd-yyyy 形式) を受け入れますか?

Java 正規表現を使用して日付文字列 (MM-dd-yyyy 形式) を受け入れますか?

WBOY
WBOY転載
2023-09-07 18:05:021410ブラウズ

Java 正規表現を使用して日付文字列 (MM-dd-yyyy 形式) を受け入れますか?

次は、dd-MM-yyyy 形式の日付に一致する正規表現です。

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

この形式文字列の日付と一致します。

  • 上記のcompile()メソッドの式Patternクラスをコンパイルします。

  • 必要な入力文字列を引数として Pattern クラスの matcher() メソッドにバイパスして、Matcher オブジェクトを取得します。

  • Matcher クラスのmatches()メソッドは、一致があればtrueを返し、それ以外の場合はfalseを返します。したがって、このメソッドはデータを検証するために呼び出されます。

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

出力

Date is valid

String クラスのmatches() メソッドは正規表現を受け入れ、現在の文字列を正規表現と照合し、一致する場合は true を返し、一致しない場合は false を返します。したがって、指定された日付 (文字列形式) が必要な形式に準拠していることを確認するには、

  • 日付文字列を取得します。
  • matches() メソッドを呼び出し、上記の正規表現をパラメータとして渡します。

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

出力 1

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

出力 2

えええええ

以上がJava 正規表現を使用して日付文字列 (MM-dd-yyyy 形式) を受け入れますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。