Tôi đang cố gắng để thực hiện một thử nghiệm để kiểm tra xem một đầu vào sys.argv phù hợp với RegEx cho một địa chỉ IP ...Sử dụng một RegEx để phù hợp với địa chỉ IP bằng Python
Là một thử nghiệm đơn giản, tôi có sau ...
import re
pat = re.compile("\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}")
test = pat.match(hostIP)
if test:
print "Acceptable ip address"
else:
print "Unacceptable ip address"
Tuy nhiên khi tôi vượt qua các giá trị ngẫu nhiên vào nó, nó sẽ trả về "địa chỉ IP thể chấp nhận được" trong hầu hết các trường hợp, trừ khi tôi có một "địa chỉ" có nghĩa là về cơ bản tương đương với \d+
.
Bạn có sẵn sàng chấp nhận 999.999.999.999 là địa chỉ IP "hợp lệ" không? :) –
Chỉ IPv4; không có IPv6? – belacqua
Xem http://stackoverflow.com/questions/319279/how-to-validate-ip-address-in-python?lq=1 và http://stackoverflow.com/questions/10191442/check-hostnames-and- ip-addresses-v4-và-v6-sử dụng-một-đơn-python-regex? rq = 1 – belacqua