English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Javaの模式matchs()メソッドと例

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

出力1

Enter date string in [dd/mm/yyy] フォーマット:
01/12/2019
Date is valid

出力2

Enter date string in [dd/mm/yyy] フォーマット:
2019-21-12
Date is not valid