English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Javaのjava.util.regexパッケージは、文字列シーケンス内の特定のパターンを検索するための様々なクラスを提供します。このパッケージのパターンクラスは、正規表現のコンパイルされた表現です。
のmatch()のパターンクラスのメソッドは、-
正規表現の文字列値を表します。
CharSequenceクラスの1つのオブジェクトは、入力文字列を表します。
このメソッドは、正規表現と入力文字列をマッチングします。このメソッドは、マッチングが成功した場合true、失敗した場合falseを返します。
import java.util.Scanner; import java.util.regex.Pattern; public class MatchesExample { public static void main(String[] args) { //日付を取得します Scanner sc = new Scanner(System.in); System.out.println("Enter date string in [dd/mm/yyy] フォーマット: "); String date = sc.next(); String regex = "^(1[0-2]|0[1-9]/(3[01]|[12][0-9]|0[1-9]/[0-9]{4$"; //パターンオブジェクトを作成します boolean result = Pattern.matches(regex, date); if(result) { System.out.println("Date is valid"); } else { System.out.println("Date is not valid"); } } }
Enter date string in [dd/mm/yyy] フォーマット: 01/12/2019 Date is valid
Enter date string in [dd/mm/yyy] フォーマット: 2019-21-12 Date is not valid