1
一個作爲定義here的保留IP地址範圍是:IP地址:非保留地址的可能性不在100以外。*?
座 100.64.0.0/10
範圍 100.64.0.0 - 100.127.255.255
我試圖構造一個正則表達式來捕獲這個範圍內的任何地址,但是我沒有辦法做到這一點,而沒有爲第二個8位指定每個可能的值。
如果我剛剛將我的正則表達式定義爲「任何以100開頭的IP地址」,那就足夠了嗎?或換句話說,有沒有非 - 保留地址,以100開頭,但其中不落入100.64.0.0 - 100.127.255.255?
如果你使用Perl,你可以使用'(\ d +)(?? {$^N> 64 && $^N <128?'':'(?!)'})'來檢查第二三聯體。但是regexps絕對是這個錯誤的工具,我建議你使用別的東西來保存自己的理智。而且由於IPv4空間已經接近枯竭,你可能會得到一個從100開始但在該範圍之外的地址,這一點很重要。 –
正則表達式確實是錯誤的工具。更容易將地址轉換爲數字或字符串(例如inet_pton),以便您可以進行正常範圍檢查。 –