## - Élément de liste ## l'heure est comprise entre 1 et 12, sans zéro non significatif, suivi de deux points, puis des minutes entre et 59, puis d'un espace facultatif, puis AM ou PM, en majuscules ou minuscules. ## ##
import re def check_time(text): pattern = result = re.search(pattern, text) return result != None print(check_time("12:45pm")) # True print(check_time("9:59 AM")) # True print(check_time("6:60am")) # False print(check_time("five o'clock")) # False
4 Réponses :
import re def check_time(text): pattern = r"\b((1[0-2]|1?[1-9]):([0-5][0-9])( ?([AaPp][Mm])))" result = re.search(pattern, text) return result != None print(check_time("12:45pm")) # True print(check_time("9:59 AM")) # True print(check_time("6:60am")) # False print(check_time("five o'clock")) # False This satisfies the condition
import re def check_time(text): pattern = r'(1[012]|[1-9]):[0-5][0-9][ ]{0,1}?(am|pm|AM|PM)' result = re.search(pattern, text) return result != None print(check_time("12:45pm")) # True print(check_time("09:59 AM")) # True print(check_time("6:60am")) # False print(check_time("6:02am")) # True print(check_time("five o'clock")) # False
Bien que cela puisse être une solution plus profane, mais le code semble moins compliqué.
pattern = r"^(0?[1-9]|1[0-2]):[0-5][0-9]\s?[AaPp][Mm]$"ou vous pouvez opter pour la méthode habituelle comme:
hours_limit = 12 pattern = r"^[1-hours_limit]:[0-5][0-9]\s?[AaPp][Mm]$" text = "2:59 pm" print(re.search(pattern, text))
J'espère que cela vous aidera à comprendre.
pattern = r"(1[012]|[1-9]):([0-5][0-9])(\s)?(?i) (am|pm)"
Quelle est la question?
La fonction check_time vérifie le format de l'heure d'une horloge de 12 heures, l'heure est comprise entre 1 et 12, sans zéro non significatif, suivi de deux points, puis des minutes entre et 59, puis d'un espace facultatif, puis AM ou PM, dans la majuscule ou la minuscule. J'ai trouvé la réponse et j'ai joint la réponse ci-dessous