私は実際にこれを機能させていますが、それは非常に醜く、それを達成するための雄弁なコードを考え出そうとして夜に目を覚まし続けています。
IP範囲を表す一連の文字列を取得し、その文字列が表す実際のIPアドレスの数を決定する必要があります。私のアプローチは、それを4オクテットに分割し、次に各オクテットを分割してそこから計算を行うことでした。
例:1.2.3.4-6は1.2.3.4、1.2.3.5、および1.2.3.6を表すため、この範囲から3の答えを取得したいと思います。
さらに複雑なことに、私が始めている文字列は、テキストボックスからのそのような範囲のリストであり、改行で区切られている可能性があるため、各行を個別に調べて、表されたIPアドレスの数を取得し、最後にどのように送信された範囲の多くにこの条件があります。
1.1.1.4-6 /* Represents 3 actual IP Addresses, need to know "3" */
2.2.3-10.255 /* Represents 8 actual IP Addresses, need to know "8" */
3.3.3.3 /* No ranges specified, skip this
4.4.4.4 /* No ranges specified, skip this
最終的な結果として、2行に8つのIPアドレス(3 + 8)を表す「範囲」が含まれていることがわかります。
どんな雄弁な解決策も私の睡眠スケジュールによって高く評価されるでしょう。:)