自分で書くと結構大変なので、折角のツールを使いましょう。
以下のサイトは、GoogleアナリティクスでIP範囲を使って検索するために、指定のIP範囲内のアドレスがマッチする正規表現を生成してくれます。
正規表現を生成する
「Step 1」にはIP範囲の最初のアドレスを入れます。一つだけのIPであれば、これで十分で、「Step 2」は空欄で大丈夫。
範囲を検索するための正規表現がほしい場合は、「Step 2」に範囲の最後のIPを入れます。
そして、「Generate RegEx」ボタンをおして、「Step 3」が表示されるまで待ちます。
「Step 3」には、コピーペーストできる正規表現パターンが表示されていますので、後は、使うだけです。
例えば、「123.123.123.120」から「123.123.123.125」のアドレスがマッチしているパターンがほしい場合、
「Step 1」に「123.123.123.120」、「Step 2」に「123.123.123.125」を入力して、結果を取得します。
結果は
^123\.123\.123\.(1(2[0-5]))$
です。
アナリティクスでももちろん、phpやMySQLでも使えて便利なので、紹介しました。