Vous êtes ici : Accueil / Forums & ML / Forums Python / Forum général Python / Regex Date time

Regex Date time

Remonter à Forum général Python
  • Regex Date time

    Envoyé par Chawn01 le 28 Août 2007 à 20:40
    Bonjour,

    Je voudrais valider un date en format time.ctime () (ex du format ctime = Sun Aug 25 09:35:23 2007)
    mais ds mon date = raw_input('SVP entrez la date et l'heure: ') je veux ignorer le jour ex:Sun ds ce cas... comment pourrais-je m'y prendre ?

    DateTimeRegex = ???


    Merci/Chawn01




    • Re: Regex Date time

      Envoyé par tarek le 29 Août 2007 à 09:15
      ctime() est juste un rendu de l'objet datetime, sachant qu'il peut être créé de n'importe quelle manière.

      Les méthodes strptime et strftime t'aideront à formater la saisie, (regarde la doc sur docs.python.org, elle donne les formats possible)

      Si maintenant la saisie est libre, le plus simple consiste à tester dans une boucle une collection de format possibles, avec une gestion d'exception lorsque la chaîne ne "colle" pas
    • Re: Regex Date time

      Envoyé par Fructidor le 29 Août 2007 à 10:02
      Bonjour,

      je ne suis pas certain de ce que tu veux faire, mais voici en tout cas une expression reguliere qui devrait fonctionner:
      [code]
      datere=r'''^
      (?PSun|Mon|Tue|Wed|Thu|Fri|Sat)
      \s
      (?PJan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)
      \s
      (?P[1-2][0-9]|0?[1-9]|30|31)
      \s
      (?P[01]?[0-9]|2[0-3])
      :
      (?P[0-5]?[0-9])
      :
      (?P[0-5]?[0-9])
      \s
      (?P\d{4})
      $
      '''

      import re

      c=re.compile(datere,re.VERBOSE)
      print c.match('Sun Aug 25 09:35:23 2007').groupdict()
      [/code/
    • Re: Regex Date time

      Envoyé par Chawn01 le 29 Août 2007 à 16:28
      Merci, beaucoup pour votre information...j'apprécie ...
    • Re: Regex Date time

      Envoyé par Chawn01 le 29 Août 2007 à 22:20
      J'ai essayé plusieurs combinaisons mais ça ne fonctionne pas, mon datere n'est pas définit etc. etc.

      Je veux tout simplement entrez un date/temps ex: MMM DD HH:MM:SS YYYY
      si j'entre un format qui n'est pas identique alors c'est rejeté.

      Suggestion ?
    • Re: Regex Date time

      Envoyé par Fructidor le 29 Août 2007 à 23:16
      Ah? Je ne vois pas pourquoi datere n'est pas defini.
      Pour que l'expression reguliere fonctionne sans le jour de la semaine, il faut retirer les lignes 2 et 3.

      datere=r'''
      (?PJan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)
      ...

      A noter que la casse compte et qu'il ne doit pas y avoir de caractere avant et apres.

      Sinon, pour une expression plus simple:

      import re
      s='Aug 25 09:35:23 2007'
      if not re.search(r'(\w{3}) (\d\d) (\d\d):(\d\d):(\d\d) (\d{4})',s):
      print 'failed'


      J'espere que ca marchera...
    • Re: Regex Date time

      Envoyé par Chawn01 le 5 Septembre 2007 à 20:05
      Super,
      ca fonctionne !

      Merci encore.
Rendu par Ploneboard