IPアドレスと正規表現1
〇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]))$/
正規表現チェッカーで確認
http://okumocchi.jp/php/re.php
〇CIDR表記に合わせてIPアドレスをレンジ指定できるexcel関数を考える
IPアドレスの使える範囲によってA-Cまでのクラス分けがある
↓以下、YYYYが使える桁
クラスA:XXXX.YYYY.YYYY.YYYY
クラスB:XXXX.XXXX.YYYY.YYYY
クラスC:XXXX.XXXX.XXXX.YYYY
IPのレンジはクラスごとにCIDRの数値が大きくなるほど使用できる桁数が減る為、レンジの幅が狭まる
レンジが狭まる=使用できるIPアドレスの範囲が狭くなるため、レンジ開始位置のバリエーションが増える
例)
/8 =>11111111 00000000 00000000 00000000=>255.0.0.0 =>XXXX.0.0.0-XXXX.255.255.255=>クラスB256個分
/15=>11111111 11111110 00000000 00000000=>255.254.0.0=>XXXX.0.0.0-XXXX.1.255.255 =>クラスB2個分
レンジ指定の参考記事
https://www.mrl.co.jp/download/manual-online/gl2000/gl2000_02/manual/docs/netlistb.htm#list
https://wa3.i-3-i.info/word11990.html
〇処理手順
・CIDRのパターンとレンジ指定の組み合わせは決まっているので対象のIPアドレスとCIDR表記からクラス、CIDR、レンジの開始位置を判定する
・判定結果を元にレンジを決定する
・決定されたレンジを元に正規表現を作成する