Ich habe einige Internetverkehrsdaten zu analysieren. Ich muss nur die Pakete analysieren, die sich in einem bestimmten IP-Bereich befinden. Also, ich muss eine if
Aussage schreiben. Ich nehme an, ich brauche einen regulären Ausdruck für die Testbedingung. Mein Wissen über Regexp ist ein wenig schwach. Kann mir jemand sagen, wie ich einen regulären Ausdruck für diese Bedingung konstruieren würde? Ein Beispiel Bereich sein kann, wiePerl Regulärer Ausdruck für IP-Adressbereich
Group A
56.286.75.0/19
57.256.106.0/21
64.131.14.0/22
Group B
58.176.44.0/21
58.177.92.0/19
Die if
Aussage wäre wie
if("IP in A" || "IP in B") {
do something
}
else { do something else }
so würde ich das Äquivalent regexp für "IP in A" vornehmen müssen und "IP in B" Bedingungen.
Warum zur Hölle wollen Sie Regex zum Überprüfen etwas auf Bits-Ebene definiert verwenden? – x13n
@ x13n Nun, das ist nur ein erster Gedanke und einer der Gründe, die ich hier gepostet habe, um bessere Ideen zu bekommen. Ich habe zwar nicht verstanden, was Sie mit "auf Bit-Ebene definiert" meinen. – sfactor
Die Netzwerkmaske (der/ Teil in jeder Ihrer Adressen) gibt an, wie viele Bits von der linken Adresse verglichen werden sollen, um festzustellen, ob eine Adresse zu einem Teilnetz gehört. Es wäre ziemlich schwierig, dafür einen regulären Ausdruck zu schreiben. –
x13n