Using a RegEx to match IP addresses

python, regex

Solution

You have to modify your regex in the following way

pat = re.compile("^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$")

that's because `.` is a wildcard that stands for "every character"

Problem

I'm trying to make a test for checking whether a sys.argv input matches the RegEx for an IP address... As a simple test, I have the following... ``` import re pat = re.compile("\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}") test = pat.match(hostIP) if test: print "Acceptable ip address" else: print "Unacceptable ip address" ``` However when I pass random values into it, it returns "Acceptable IP address" in most cases, except when I have an "address" that is basically equivalent to `\d+`.

Original source

Related problems