正则表达式为24小时unix时间戳

时间:2017-07-26 12:29:26

标签: python regex range unix-timestamp

我想创建一个24小时unix时间戳的正则表达式,例如:01/01/2015 00:00:00 **(1420066800)** to 01/01/2015 23:59:59 **(1420153199)**,这是86399秒的差异。在unix时间戳格式中。

我正在使用range_regex python lib,但它对于如此巨大的范围来说是错误的。 range_to_pattern方法(range_to_pattern(1420066800, 1420153199))会产生以下正则表达式:1420[0-1][5-6][3-6][1-8]\\d{2} 这对于创建正则表达式的静态边界来说很好,但是当涉及到像1420159111这样的值时,因为左边的7位数(9)不在第三个范围组中([3-6])。

有人可以提供更好的python3 lib或解决方法,了解如何创建86400秒的正则表达式。一天?

2 个答案:

答案 0 :(得分:1)

根据我上面的评论,您使用的是该库中的错误功能。

您应该使用以下内容:

range_to_regex(1420066800, 1420153199)

这将返回正确的正则表达式:

142006680\d|14200668[1-9]\d|14200669\d{2}|142006[7-9]\d{3}|14200[7-9]\d{4}|14201[0-4]\d{4}|142015[0-2]\d{3}|1420153[0-1]\d{2}

答案 1 :(得分:1)

Int64 b = a % 1000 / 10;

在线:https://regex101.com/r/blnST4/1