- ベストアンサー
[正規表現]特定の範囲のIPアドレスをヒット
正規表現について教えてください。 ある範囲のIPアドレスを正規表現でヒットさせたいのですが、 どう表記したらいいのでしょうか? たとえば、xx.96.0.0からxx.111.255.255の範囲をヒットさせたい場合、 61.9[6-9].|61.1[0-1][0-1]. と記述するのでしょうか? いい方法があれば教えてください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
すくなくとも、質問内の正規表現ではだめでしょうね。 とりあえず、これでどう? xx\.(9[6-9]|10[0-9]|11[01])\.[0-9]{1,3}\.[0-9]{1,3} いかがでしょう。
その他の回答 (2)
noname#198951
回答No.3
最上位バイトは同じということでしょうか? xx.9[6-9]..*..*|xx.1[0][0-9]..*..*|xx.111..*..* じゃないでしょうか? (正規表現がなんか違うかも) wb013さんの式だとxx.100.*.*~xx.109.*.*が範囲に入らないような気がします。
質問者
お礼
ご回答ありがとうございます。 そうです、上位は同じ、として考えています。こちらの正規表現でもかのうですね。 ありがとうございました。
- pon_kotu
- ベストアンサー率21% (8/38)
回答No.1
正規表現よりは split をつかって、配列取得して 範囲をifで指定したほうがいいと思います
質問者
お礼
ご回答ありがとうございます。 カテゴリ違いかな、と思いましたがここに質問してしまいました。すみません。 正規表現のフィルタリングを提供しているメールサービス(wakwak)を利用しており、韓国、中国を経由したメールを受信拒否するために質問させていただきました。なので、splitは使用できません。
お礼
ご回答ありがとうございます。 この構文でできました。ありがとうございました。