Python Module RE - Vérifier le format

Résolu
Sam -  
Edawards_0352 Messages postés 220 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour !

J'aurai besoin d'aide, j'ai trouvé plusieurs docs sur le module Regex de python mais je ne comprend pas comment répondre à mes attentes.

Mon objectif est de vérifier si l'heure entré est au bon format. Voici les formats que je souhaite accepter :
- hh.mm/hh.mm
- h.mm/hh.mm
- hh.mm/h.mm
- h.mm/h.mm

J'ai réussi à vérifier si les "." et le "/" sont présents, mais je n'arrive pas à gérer la quantité de chiffre avant et après.

J'avais fais une contrainte comme ça :
'(\d\d|\d)+[.]\d\d+[/](\d\d|\d)+[.]\d\d'

Mais je me suis rendu compte que c'était équivalent à :
'\d+[.]\d+[/]\d+[.]\d'

Je vous montre mon petit programme :
=====================================
import re

heure = input("Entrer l'heure (hh.mm/hh.mm) : ")

condition = '\d+[.]\d+[/]\d+[.]\d'
 
def check(dt):

   if(re.search(condition, dt)):
      print("Valid Time")

   else:
      print("Invalid Time")

check(heure)

=====================================

Si quelqu'un a des connaissances dans ce module, je serai enchanté d'avoir son aide !

Merci et bonne journée :)

Sam

2 réponses

  1. Sam
     
    Problème résolu, j'ai utilisé :
    condition = '([0-2][0-9]|[0-9])[.][0-5][0-9][/]([0-2][0-9]|[0-9])[.][0-5][0-9]'
    0
    1. Edawards_0352 Messages postés 220 Date d'inscription   Statut Membre Dernière intervention   11
       
      Bonjour,
      Merci pour la solution, cela va en aider plus d'un ici sur le forum.

      Bonne continuation.
      0
  2. Sam
     
    Pour être encore plus rigoureux sur la notation de l'heure, j'ai peaufiné et utilisé :
    condition = '^([0-1][0-9]|[2][0-3]|[0-9])[.][0-5][0-9][/]([0-1][0-9]|[2][0-3]|[0-9])[.][0-5][0-9]$'
    0
    1. Edawards_0352 Messages postés 220 Date d'inscription   Statut Membre Dernière intervention   11
       
      Votre solution en Tutoriel sur le forum serait nickel pour ceux et celles qui cherchent ces formules.

      Inscrivez-vous et créez un tutoriel sur la question.
      0