IPアドレス(IPv4)の正規表現

正規表現のサンプルの中でIPアドレス(IPv4)にマッチする正規表現について解説します。

(Last modified: )

IPアドレス(IPv4)にマッチする正規表現

IP アドレス( IPv4 )は次のような値となります。

255.255.255.255

IP アドレス( IPv4 )にマッチする正規表現は次のようになります。

^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])$

以下解説と前提条件です。

IP アドレス( IPv4 )は 0 から 255 までの数字がドット(.)を挟んで 4 回続く形になります。 0 から 255 の数字は 250 から 255、 200 から 249 、100 から 199 、 0 から 99 、にそれぞれ分けて次のように正規表現で表すことができます。

(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])

0 から 255 までの数字を 4 回、それぞれをドット(.)で結び、これに文字列の先頭にマッチするキャレット( ^ )と文字列の末尾にマッチするドル記号を( $ )を追加して組み合わせたものが IP アドレス( IPv4 )を表す正規表現となります。

サンプル

JavaScript を使って簡単な正規表現のサンプルを作成してみます。

const regex = /^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])$/;

regex.test('192.168.0.24');
--> true
regex.test('255.255.255.0');
--> true
regex.test('10.44.36');
--> false // 最後のブロックがない
regex.test('255.128.302.4');
--> false // 3つ目のブロックが範囲外

IPアドレス(IPv4)にマッチする正規表現(1)

-- --

正規表現のサンプルの中でIPアドレス(IPv4)にマッチする正規表現について解説しました。

( Written by Tatsuo Ikura )

Profile
profile_img

著者 / TATSUO IKURA

プログラミングや開発環境構築の解説サイトを運営しています。