re question
Dan Bar Dov
bardov at gmail.com
Fri Sep 21 01:31:32 EDT 2007
On 9/20/07, Matt McCredie <mccredie at gmail.com> wrote:
>
>
> > Any common knowledge IP matching RE?
>
> I don't know if there is any common knowledge RE, but I came up with
> the following:
>
>
> r"((1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|\d)\.){3}(1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|\d)")
Thank you. I will use that!
>
> I generally discourage people from using REs. I think the folowing is
> much easier to read:
Well, I need the regex to be used withing a parser (yeanpypa or
ZestyParser), so I need it to be a regex to be matched against, and not a
piece of code .
I could probably use a more simplistic re that does not check numeric
validity, and do that later, but your re would do both matching and
validation in one step.
Dan
def isip(x):
> octs = x.split(".")
> if len(octs) != 4:
> return False
> for oct in octs:
> if len(oct) > 1 and oct[0] == "0":
> return False
> try:
> if not 0 <= int(oct) < 256:
> return False
> except ValueError:
> return False
> return True
>
> Both solutions seem to work, though I used a small set of test cases.
> Others may have better suggestions.
>
> Matt
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-list/attachments/20070921/c64d997b/attachment.html>
More information about the Python-list
mailing list