我正在寫一個函數,需要匹配小時/分鐘/秒,以便允許用戶以更方便的方式提供時間參數,而不僅僅是指定秒數。Python正則表達式匹配時間格式 - 爲什麼?
它需要接受的格式包括:
hh:mm:ss
mm:ss
ss
我發現一條巨蟒正則表達式,在以下位置的工作原理:http://blog.yjl.im/2012/05/nargs-and-type-check-in-argparse-using.html
的正則表達式是:'^(?:(?:(\d+):)?(\d+):)?(\d+)$'
。
我的問題是:爲什麼它的工作?我一直認爲我用正則表達式很好,但即使在我的作弊表的幫助下,我也無法完全理解這一點。
有人可以解釋一下嗎?
這不適用於'dd:hh:mm:ss'。 – simonzack 2014-08-29 17:31:06
http://rick.measham.id.au/paste/explain.pl?regex=%5E%28%3F%3A%28%3F%3A%28%5Cd%2B%29%3A%29%3F% 28%5Cd%2B%29%3A%29%3F%28%5Cd%2B%29%24 – hjpotter92 2014-08-29 17:32:30
你絕對正確 - 因爲它不適用於'dd:hh:mm:ss'。但正如我所指出的那樣,我將能夠擴展它來做到這一點。但我會編輯原始帖子以避免混淆。 – 2014-08-29 17:34:40