問題
ユーザーから入力された文字列が有効なIPv4アドレスとして成り立つかどうかを検証するプログラムを書いてください。
ヒント
- IPv4アドレスの基本構造:
- IPv4アドレスは4つの数値(0から255までの範囲)がピリオドで区切られた形式です。例:
192.168.0.1
- IPv4アドレスは4つの数値(0から255までの範囲)がピリオドで区切られた形式です。例:
- 正規表現の利用:
- 正規表現を使用してIPv4アドレスのパターンを定義します。各部分が0から255までの数字で構成されていることを確認するパターンを作成します。
- キャラクタクラスの利用:
- キャラクタクラスを使用して、各部分が0から9の数字であることを確認します。例えば、
[0-9]
は0から9のどれかに一致します。
- キャラクタクラスを使用して、各部分が0から9の数字であることを確認します。例えば、
- 量指定子の利用:
- 各部分が1桁または2桁の数字であることを確認するために、量指定子を使用します。例えば、
[0-9]{1,2}
は1桁または2桁の数字に一致します。
- 各部分が1桁または2桁の数字であることを確認するために、量指定子を使用します。例えば、
- ピリオドのエスケープ:
- ピリオドは正規表現で特別な意味を持つため、正確にピリオドと一致させるためにはエスケープが必要です。エスケープはバックスラッシュ
\
を使います。
- ピリオドは正規表現で特別な意味を持つため、正確にピリオドと一致させるためにはエスケープが必要です。エスケープはバックスラッシュ
- IPv4アドレスの結合:
- 上記の要素を組み合わせてIPv4アドレス全体の正規表現パターンを作成します。各部分をピリオドで連結する形にします。
これらのヒントをもとに、JavaでIPv4アドレスの有効性を検証するための正規表現パターンを作成し、Pattern
クラスと Matcher
クラスを使用してプログラムを実装してみてください。
→解答例