2

ユーザーに郵便番号の入力を求め、有効な場合は郵便番号を出力するアプリケーションを作成しています。

正しく機能する次のパターンを見つけました。

String pattern = "^([A-PR-UWYZ](([0-9](([0-9]|[A-HJKSTUW])?)?)|([A-HK-Y][0-9]([0-9]|[ABEHMNPRVWXY])?)) [0-9][ABD-HJLNP-UW-Z]{2})"; 

私は正規表現についてあまり知りません。誰かがこのステートメントについて話してくれたらうれしいです。?私は主にと の使用法を理解していません()

4

2 に答える 2

2

正規表現には次のものがあります。

  • ^および$-一致する入力の開始と終了を示すためのアンカー。
  • [A-PR-UWYZ]-AからPまたはRからUまたはW、Y、Zの間の任意の文字。角括弧で囲まれた文字は文字クラスを形成します。これは、囲まれた文字のいずれかを許可し-、A、B、C、またはDを許可する[AD]のような文字のシーケンスを示すためのものです。
  • ([0-9]|[A-HJKSTUW])?-0〜9の任意の文字、または[A-HJKSTUW]で示される文字。?前の部分をオプションにします。|ですOR。は、編集()する2つの部分を組み合わせたものです。ORここで[0-9A-HJKSTUW]は、これの代わりに使用できます。
  • [ABD-HJLNP-UW-Z]{2}-文字クラスで許可されている文字によって形成される長さ2のシーケンス。{2}長さ2を示します。したがって[ABD-HJLNP-UW-Z]{2}[ABD-HJLNP-UW-Z][ABD-HJLNP-UW-Z]
于 2013-02-21T09:42:21.677 に答える