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を表現しています。