文档

正则表达式

InfluxDB 3 Core 处于公开 Alpha 阶段

InfluxDB 3 Core 处于公开 alpha 阶段,可用于测试和反馈,但不适用于生产环境。产品和本文档都在不断完善中。我们欢迎并鼓励您提供关于 alpha 体验的反馈,并邀请您加入我们的公共频道以获取更新和分享反馈。

Alpha 阶段的期望和建议

正则表达式是用于识别标识符和字符串值中模式的字符序列。InfluxQL 在以下操作中支持正则表达式

  • SELECT 子句中标识要查询的字段tag
  • FROM 子句中标识要查询的 measurement
  • WHERE 子句中测试 tag 值字符串字段值
  • GROUP BY 子句中标识要分组的 tag 键

查询性能

正则表达式比较比精确字符串比较在计算上更密集。使用正则表达式的查询不如不使用正则表达式的查询性能高。

正则表达式语法

InfluxQL 正则表达式用 / 字符括起来,并使用 Go 正则表达式语法。

/regular_expression/

正则表达式标志

正则表达式标志修改表达式的模式匹配行为。InfluxQL 支持以下正则表达式标志

标志描述
i不区分大小写
m多行模式:^$ 除了匹配文本的开头/结尾外,还匹配行的开头/结尾
s. 匹配 \n
U非贪婪:交换 x*x*?x+x+? 等的含义。

在正则表达式模式的开头包含正则表达式标志,并用括号 (()) 括起来,前面加上问号 (?)。

/(?iU)foo*/

正则表达式运算符

InfluxQL 提供了以下正则表达式运算符,用于测试字符串操作数是否与正则表达式匹配

  • =~:如果字符串与正则表达式匹配,则返回 true
  • !~:如果字符串与正则表达式不匹配,则返回 true

InfluxQL 正则表达式运算符用于测试 WHERE 子句中的字符串列值。

正则表达式示例

以下示例使用以下示例数据集

使用正则表达式在 SELECT 子句中指定字段键和 tag 键

使用正则表达式在 FROM 子句中指定 measurement

使用正则表达式在 WHERE 子句中指定 tag 值

使用正则表达式在 WHERE 子句中指定没有值的 tag

使用正则表达式在 GROUP BY 子句中指定 tag 键


此页面是否对您有帮助?

感谢您的反馈!


Flux 的未来

Flux 即将进入维护模式。您可以继续像现在这样使用它,而无需对您的代码进行任何更改。

阅读更多

InfluxDB 3 开源版本现已进入公开 Alpha 阶段

InfluxDB 3 开源版本现已可用于 alpha 测试,并根据 MIT 或 Apache 2 许可获得许可。

我们正在发布两个产品作为 alpha 版本的一部分。

InfluxDB 3 Core 是我们新的开源产品。它是用于时间序列和事件数据的最新数据引擎。InfluxDB 3 Enterprise 是一个商业版本,它建立在 Core 的基础上,增加了历史查询功能、只读副本、高可用性、可扩展性和细粒度的安全性。

有关如何开始使用的更多信息,请查看