Problem Statement: Write a Python program to validate if the given string is a valid IP address or not.
This is one of the questions asked in the Juniper coding interview.
In Computer Network, the IP address uniquely defines each host or node in the network. You can read mode about IP address in Computer Networking.
Basically, this is a pattern matching problem where we can use a regular expression (RegEx).
Here we are using the search method from the re module. You can find more detail in the Python RegEx tutorial.
Code
import re regexIP = '''^(25[0-5]|2[0-4][0-9]|[0-1]?[0-9][0-9]?)\.( 25[0-5]|2[0-4][0-9]|[0-1]?[0-9][0-9]?)\.( 25[0-5]|2[0-4][0-9]|[0-1]?[0-9][0-9]?)\.( 25[0-5]|2[0-4][0-9]|[0-1]?[0-9][0-9]?)''' def validateIP(strIP): if(re.search(regexIP, strIP)): print(f"{strIP} is a valid IP address.") else: print(f"{strIP} is an invalid IP address.") if __name__ == '__main__' : strIP = "122.134.3.123" validateIP(strIP) strIP = "44.235.34.1" validateIP(strIP) strIP = "277.13.23.17" validateIP(strIP)
Output
122.134.3.123 is a valid IP address. 44.235.34.1 is a valid IP address. 277.13.23.17 is an invalid IP address.
Note: When we say IP address, by default it’s IPv4 address which is different from IPv6 address.
Python Code:
(This solution is shared by Mallikarjuna.)
def validate_ip(ip): part = ip.split(".") if not (len(part) == 4): return False for i in part: if int(i) > 255: return False if not isinstance(int(i),int): return False return True if __name__ == "__main__": ip = "10.10.10.40" out = validate_ip(ip) if out: print(f"{ip} is valid IP.") else: print(f"{ip} is invalid IP.")
This is a simple program to validate IP address using regex in Python. Do you have any other solutions? Let me know in the comment. Thanks!
It says it’s valid – 122.134.3.0991 is a valid IP address.
Can you test with this string – strIP = “122.134.3.0991”?
Thanks for identifying it. Looks like we also have to check the length of each octave.
Just add $ in the end.
Not sure where do you want to add $. The code is working. You can try executing code on our online CSEstack IDE.
This is a truly simple and easy solution. Thanks for sharing. Here problem statement is to write the regex expression to check the valid IP address.
This solution looks very good without regex expression.