## - É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