syntax-check with regular expressions?
Detlef Jockheck
spamnews at gmx.de
Wed Aug 4 06:21:11 EDT 2004
Matteo Dell'Amico <della at toglimi.linux.it> wrote in message news:<tIrNc.17482$OH4.411663 at twister1.libero.it>...
> Detlef Jockheck wrote:
> > Hi,
> >
> > I would like to check if a string contains a valid date format
> > (Format: "dd.mm.yyyy") or not.
> >
> > What is the best way to do this. regexp? At the moment it would be
> > sufficient to check for
> > [digit][digit].[digit][digit].[digit][digit][digit][digit] but a full
> > date verification (Month in range 1-12 ...) would be very nice too.
> >
> > Sample code would help me very much.
> >
> > regards
> > Detlef
> >
> > PS: I'm a python newbie, so excuse this silly question
>
> This should work, returning True for valid dates and False otherwise:
>
> import re
>
> _re = re.compile(r'(\d{2})\.(\d{2})\.(\d{4})$')
> def testdate(s):
> try:
> day, month, year = [int(x) for x in _re.match(s).groups()]
> except AttributeError:
> return False
> return 1 <= day <= 31 and 1 <= month <= 12
>
> Implementing things such as different number of days for each month and
> leap years is left as an exercise to the reader. :-)
Hi!
That's great. Now I understand how this works. Thank you very much :-)
regards
Detlef
More information about the Python-list
mailing list