我想创建一个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秒的正则表达式。一天?
答案 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;