913
In this example we will use regular expressions in python to check for a valid IP address
This example will check IPv4 and IPv6 address formats
Code
x
# Validate IP addresses using Regex
import re
# Function for Validating IP
def validateIP(IP):
# Regex expression for validating IPv4
regexIP4 = "^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])$"
# Regex expression for validating IPv6
regexIP6 = "((([0-9a-fA-F]){1,4})\\:){7}"\
"([0-9a-fA-F]){1,4}"
isIP4 = re.compile(regexIP4)
isIP6 = re.compile(regexIP6)
# Checking if it is a valid IPv4 addresses
if (re.search(isIP4, IP)):
return "This is a valid IPv4"
# Checking if it is a valid IPv6 addresses
elif (re.search(isIP6, IP)):
return "This is a valid IPv6"
# Return Invalid
return "This is an invalid IP"
# Driver Code
# IP addresses to validate
IP = "127.0.0.1"
print(validateIP(IP))
IP = "201.23.120.21"
print(validateIP(IP))
IP = "2001:db8:85a3:8d3:1319:8a2e:370:7348"
print(validateIP(IP))
IP = "This.is.an.ip"
print(validateIP(IP))
When you run this you should see something like this
>>> %Run regexip.py This is a valid IPv4 This is a valid IPv4 This is a valid IPv6 This is an invalid IP
Link