Given an IP address, the task is to validate this IP address with the help of Regex (Regular Expression) in C++ as a valid IPv4 address or IPv6 address. If IP address is not valid then print invalid IP address.
Input: str = “22.214.171.124”
Output: Valid IPv4
Input: str = “000.12.234.23.23”
Output: Invalid IP
Input: str = “2F33:12a0:3Ea0:0302”
Output: Valid IPv6
Input: str = “I.Am.not.an.ip”
Output: Invalid IP
- Regex (Regular Expression) In C++ will be used to check the IP address.
Specifying a range of characters or literals is one of the simplest criteria used in a regex.
i) [a-z] ii) [A-Za-z0-9]
- In the above expression () square brackets are used to specify the range.
- The first expression will match exactly one lowercase character.
- The second expression specifies the range containing one single uppercase character, one lowercase character, and a digit from 0 to 9.
- Now to include a ‘.’ as part of an expression, we need to escape ‘.’ and this can be done as :
The above expression indicates an ‘.’ and a digit in the range 0 to 9 as a regex.
- regex_match() function is used to match the given pattern. This function returns true if the given expression matches the string. Otherwise, the function returns false.
Here is the implementation of the above approach.
Valid IPv4 Valid IPv6 Invalid IP
Time Complexity : O (N)
Auxiliary Space : O (1)
Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.
- Program to validate an IP address
- How to validate MAC address using Regular Expression
- Python program to validate an IP Address
- How to validate an IP address using Regular Expressions in Java
- Difference Between Network Address Translation (NAT) and Port Address Translation (PAT)
- Difference between MAC Address and IP Address
- <regex> library in C++ STL
- Verbose in Python Regex
- Java | Removing whitespaces using Regex
- Regex Boundary Matchers in Java
- Python Regex: re.search() VS re.findall()
- Pattern matching in Python with Regex
- smatch | Regex (Regular Expressions) in C++
- Name validation using IGNORECASE in Python Regex
- Python - Substituting patterns in text using regex
- Count occurrences of a given character using Regex in Java
- The most occurring number in a string using Regex in python
- Replace values in Pandas dataframe using regex
- Check if a string contains only alphabets in Java using Regex
- Program to find all match of a regex in a string
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to email@example.com. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.