регулярное выражение Python для формата времени, это хороший метод? - PullRequest
0 голосов
/ 28 марта 2019

Я видел это из учебника, чтобы соответствовать формату времени с помощью регулярных выражений:

t = '19:05:30'
m = re.match(r'^(0[0-9]|1[0-9]|2[0-3]|[0-9])\:(0[0-9]|1[0-9]|2[0-9]|3[0-9]|4[0-9]|5[0-9]|[0-9])\:(0[0-9]|1[0-9]|2[0-9]|3[0-9]|4[0-9]|5[0-9]|[0-9])$', t)
#            limited to 0X or 1X or 2X or x
#                                              limited to 1X, 2X, 3X, 4X, 5X or X
#                                                                                                  same as minutes
print(m.groups())
# >>> ('19', '05', '30')

Очевидно, что это сработало, но, похоже, довольно избыточно, могу ли я использовать:

m = re.match(r'^(2[0-3]|[0-1][0-9]|[0-9])\:([0-5][0-9])\:([0-5][0-9])$', t)
print(m.groups())
# >>> ('19', '05', '30')

Я новичок в regex, и я не уверен, смогу ли я написать что-то лучше, чем учебник, но я не могу найти в этом ничего плохого.

Спасибо,

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...