Javaで正規表現を使用してMM-DD-YYYYのような特定の日付形式を検証するにはどうすればよいですか?
javaのjava.util.regexパッケージは、文字シーケンスの特定のパターンを見つけるためのさまざまなクラスを提供します。
パターン このパッケージのクラスは、正規表現のコンパイル済み表現です。正規表現を文字列と照合するために、このクラスは2つのメソッド、つまり-
を提供します。-
compile() −このメソッドは、正規表現を表す文字列を受け入れ、Patternオブジェクトのオブジェクトを返します。
-
matcher() −このメソッドは文字列値を受け入れ、指定された文字列を現在のパターンオブジェクトによって表されるパターンに一致させるマッチャーオブジェクトを作成します。
以下は、dd-MM-yyyy形式の日付と一致する正規表現です。
^(1[0-2]|0[1-9])/(3[01]|[12][0-9]|0[1-9])/[0-9]{4}$
したがって、 MM-DD-YYYYの形式の日付文字列を検証するには −
-
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
-
JavaでJacksonを使用して複数の日付形式をマップするにはどうすればよいですか?
ジャクソン はJavaベースのライブラリであり、JavaオブジェクトをJSONに、JSONをJavaオブジェクトに変換すると便利です。 @JsonFormatアノテーションを使用して、Jacksonライブラリの複数の日付形式をマッピングできます。 、これは、プロパティの値をシリアル化する方法の詳細を構成するために使用される汎用アノテーションです。 @JsonFormat 形状、パターン、の3つの重要なフィールドがあります およびタイムゾーン 。 形 フィールドは、シリアル化に使用する構造を定義できます( JsonFormat.Shape.NUMBER およびJsonFormat.Shap
-
Javaで正規表現を使用して文字列からHTMLタグを抽出するにはどうすればよいですか?
javaのjava.util.regexパッケージは、文字シーケンスの特定のパターンを見つけるためのさまざまなクラスを提供します。 パターン このパッケージのクラスは、正規表現のコンパイル済み表現です。正規表現を文字列と照合するために、このクラスは2つのメソッド、つまり-を提供します。 compile() −このメソッドは、正規表現を表す文字列を受け入れ、Patternクラスのオブジェクトを返します。 matcher() −このメソッドは文字列値を受け入れ、指定された文字列を現在のパターンオブジェクトによって表されるパターンに一致させるマッチャーオブジェクトを作成します。