689
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
# 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