最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

编写正则表达式过滤器以解析以反向时间戳顺序存储的日期范围

运维笔记admin9浏览0评论

编写正则表达式过滤器以解析以反向时间戳顺序存储的日期范围

编写正则表达式过滤器以解析以反向时间戳顺序存储的日期范围

我必须使用正则表达式过滤器在Google Cloud BigTable中按日期解析一系列行键,其中rowkey中的每个日期都根据Unix Epoch(1970年1月1日00:00:00)存储为反向时间戳。 。

例如,给定Date d = "2018-03-09T10:48:00.000Z",自Unix时代以来MS中的这个日期是d.valueOf() = 1520592480000。在JavaScript中,最大允许整数是Number.MAX_SAFE_INTEGER = 9007199254740991,因此我们通过取差异来计算d的反向日期r:var r = Number.MAX_SAFE_INTEGER - d其中r = 9005678662260991

给定两个反向日期r1和r2,如何在RE2中编写正则表达式以获取此范围内的所有日期字符串?我正在尝试使用NodeJS(有限文档)在BigTable中使用反向时间戳行键查找范围内的所有日期,因此如果有任何比这更容易的解决方案,您知道我也会接受这些!

谢谢

回答如下:

使用纯正则表达式处理整数范围没有好方法,只有字符范围:https://stackoverflow/a/7861720/643848 https://github/google/re2/wiki/Syntax

此外,如果您可以表达您的查询以利用词典行键进行过滤/扫描,Bigtable将更有效率,即,如果您可以设置您的架构,以便您可以使用更简单的查询(如RowRange)表达您想要的范围(https://cloud.google/bigtable/docs/reference/data/rpc/google.bigtable.v2#rowrange)。

您可能还想考虑发出更广泛的查询,然后进行更多处理和过滤客户端。

发布评论

评论列表(0)

  1. 暂无评论