我正在写一个函数,需要匹配小时/分钟/秒,以便允许用户以更方便的方式提供时间参数,而不仅仅是指定秒数。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