次は、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を返します。したがって、このメソッドはデータを検証するために呼び出されます。
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 を返します。したがって、指定された日付 (文字列形式) が必要な形式に準拠していることを確認するには、
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"); } } }
Enter your name: Janaki Enter your Date of birth: 26/09/1989 Given date of birth is not valid
以上がJava 正規表現を使用して日付文字列 (MM-dd-yyyy 形式) を受け入れますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。