小池啓仁 ヒロヒト応援ブログ By はてな

小池啓仁(コイケヒロヒト)の動画など。

小池啓仁 ヒロヒト応援ブログ By はてな

IPアドレスの正規表現の解説

前回、以下にご紹介したIPアドレス正規表現を今回は解説してみます。

まず、IPアドレスIPv4)の構造は、以下のようになっています。
A.B.C.D (A〜Dで各々とる値は、0〜255です)

IPアドレス正規表現

/^(\d|[01]?\d\d|2[0-4]\d|25[0-5])\.(\d|[01]?\d\d|2[0-4]\d|25[0-5])\.(\d|[01]?\d\d|2[0-4]\d|25[0-5])\.(\d|[01]?\d\d|2[0-4]\d|25[0-5])$/

始めの『/^』は、IPアドレスの先頭からマッチさせます。
終わりの『$/』は、IPアドレスの末尾までマッチさせます。
途中の3個の『\.』は、A.B.C.Dの『.』のことで、A〜Dは同じ (\d|[01]?\d\d|2[0-4]\d|25[0-5])となっています。
\dは、[0-9]とイコールです。
?は、直前の表現が0個か1個であることを示します。

は、またはです。

なので(\d|[01]?\d\d|2[0-4]\d|25[0-5])を噛み砕くと・・・。
[0-9]かまたは、[01]?[0-9][0-9]かまたは、2[0-4][0-9]かまたは、25[0-5]です。
さらに・・・
[0-9]は、0〜9です。
[01]?[0-9][0-9]は、00〜199です。
2[0-4][0-9]は、200〜249です。
25[0-5]は、250〜255です。
よって、0〜255を表現しています。