Python Module RE - Vérifier le format

Résolu/Fermé
Sam - Modifié le 28 avril 2021 à 11:36
Edawards_0352 Messages postés 1008 Date d'inscription samedi 12 septembre 2020 Statut Membre Dernière intervention 14 juillet 2022 - 28 avril 2021 à 18:57
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

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
Edawards_0352 Messages postés 1008 Date d'inscription samedi 12 septembre 2020 Statut Membre Dernière intervention 14 juillet 2022 19
28 avril 2021 à 11:36
Bonjour,
Merci pour la solution, cela va en aider plus d'un ici sur le forum.

Bonne continuation.
0
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
Edawards_0352 Messages postés 1008 Date d'inscription samedi 12 septembre 2020 Statut Membre Dernière intervention 14 juillet 2022 19
28 avril 2021 à 18:57
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