/
# Match ipv4 IP addresses
# Specifically capture private IPs before matching the more global
# 0.0.0.0 - 255.255.255.255 octet ranges.
^(?P<private_10_ip>
10\.
(?:[01]?[0-9]{1,2}|2[0-4][0-9]|25[0-5])\.
(?:[01]?[0-9]{1,2}|2[0-4][0-9]|25[0-5])\.
(?:[01]?[0-9]{1,2}|2[0-4][0-9]|25[0-5])
)$
|
^(?P<private_169_ip>
169\.
254\.
(?:[01]?[0-9]{1,2}|2[0-4][0-9]|25[0-5])\.
(?:[01]?[0-9]{1,2}|2[0-4][0-9]|25[0-5])
)$
|
^(?P<private_172_ip>
172\.
(?:1[6-9]|2[0-9]|3[0-1])\.
(?:[01]?[0-9]{1,2}|2[0-4][0-9]|25[0-5])\.
(?:[01]?[0-9]{1,2}|2[0-4][0-9]|25[0-5])
)$
|
^(?P<private_192_ip>
192\.
168\.
(?:[01]?[0-9]{1,2}|2[0-4][0-9]|25[0-5])\.
(?:[01]?[0-9]{1,2}|2[0-4][0-9]|25[0-5])
)$
|
^(?P<all_ip>
(?:[01]?[0-9]{1,2}|2[0-4][0-9]|25[0-5])\.
(?:[01]?[0-9]{1,2}|2[0-4][0-9]|25[0-5])\.
(?:[01]?[0-9]{1,2}|2[0-4][0-9]|25[0-5])\.
(?:[01]?[0-9]{1,2}|2[0-4][0-9]|25[0-5])
)$
/
gmx