ものともしれない日々

参考にできるかかもしれない備忘録

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、レンジの開始位置を判定する

・判定結果を元にレンジを決定する

・決定されたレンジを元に正規表現を作成する