En python, je veux vérifier si la chaîne d'entrée est en "HH: MM" comme 01:16 ou 23:16 ou 24:00. Donner vrai ou faux par le résultat.Vérification du format de l'heure python
Comment puis-je y parvenir en utilisant une expression régulière?
En python, je veux vérifier si la chaîne d'entrée est en "HH: MM" comme 01:16 ou 23:16 ou 24:00. Donner vrai ou faux par le résultat.Vérification du format de l'heure python
Comment puis-je y parvenir en utilisant une expression régulière?
Vous pouvez y parvenir sans expressions régulières:
import time
def isTimeFormat(input):
try:
time.strptime(input, '%H:%M')
return True
except ValueError:
return False
>>>isTimeFormat('12:12')
True
>>>isTimeFormat('012:12')
False
wow qui était vraiment très utile; Merci! – jambox
Cela vous donnera l'objet regexp qui le vérifier. Cependant, en fonction de qui vous demandez 24:00 pourrait ne pas être une heure valide (il est 00:00). Mais je suppose que c'est facile à modifier pour répondre à vos besoins.
import re
regexp = re.compile("(24:00|2[0-3]:[0-5][0-9]|[0-1][0-9]:[0-5][0-9])")
import re
time_re = re.compile(r'^(([01]\d|2[0-3]):([0-5]\d)|24:00)$')
def is_time_format(s):
return bool(time_re.match(s))
Matchs tout de 00:00 à 24:00.
Ce modèle devrait vous aider:
http://regexlib.com/DisplayPatterns.aspx?cattabindex=4&categoryId=5
Voulez-vous « deux chiffres, deux points, deux chiffres » ou voulez-vous vérifier si elle est en fait une valeur de temps légal? – balpha
Strictement parlant '24: 00 'n'est pas une chaîne' HH: MM 'valide. '00: 00' à '23: 59 'sont. –
Midnight est un cas particulier et peut être appelé "00:00" et "24:00". La notation "00:00" est utilisée au début d'un jour calendaire et est la plus fréquemment utilisée. [ISO 8601] (http://en.wikipedia.org/wiki/ISO_8601) –