2016-05-16 2 views
1

Для моей программыСтрока шаблон питон

У меня есть ряд аргументов командной строки, что мне нужно проверить, если они действительны, прежде чем приступить к остальной части программы.

Одним из аргументов идет в формате

HH: MM (AM/PM) или HH: MM (AM/PM)

примеры: 11:20 вечера допустимость 11:40 PM действует но 11:32 недействительно (Это выражение цифровых часов 12HR с AM/PM в конце.

Это регулярное выражение я придумал

mo = re.search(r'[0-1][0-2]:[0-5][0-9][APap][Mm]', time) 

однако, что мне нужно делать, это придумать остроумие h способ проверки, соответствует ли переменная времени заданной картинке

+0

Есть ли что-нибудь еще между 0 и 1? –

ответ

7

Попытка сопоставить ее с datetime.datetime.strptime() и обрабатывать ошибку, если она не сработала (с любым поведением, которое вы хотели бы).

for s in ('11:20pm', '11:40PM', '11:32'): 
    try: 
     print(datetime.datetime.strptime(s, '%H:%M%p')) 
    except ValueError: 
     print('No.') 

Результат:

1900-01-01 11:20:00 
1900-01-01 11:40:00 
No. 
Смежные вопросы