文档文档

SQL 正则表达式函数

InfluxDB 3 Core SQL 实现使用 PCRE-like 正则表达式 语法(排除了一些功能,例如环视和反向引用),并支持以下正则表达式函数

regexp_count

返回正则表达式在字符串中匹配的次数。

regexp_count(str, regexp[, start, flags])
参数
  • str: 要操作的字符串表达式。可以是常量、列或函数,以及运算符的任意组合。
  • regexp: 要操作的正则表达式。可以是常量、列或函数,以及运算符的任意组合。
  • start: 可选的起始位置(第一个位置是 1),用于搜索正则表达式。可以是常量、列或函数。
  • flags: 可选的正则表达式标志,用于控制正则表达式的行为。支持以下标志
    • i: (不区分大小写) 匹配时忽略大小写。
    • m: (多行) ^$ 分别匹配行的开头和结尾。
    • s: (单行) . 匹配换行符 (\n)。
    • R: (CRLF) 当启用多行模式时,\r\n 用于分隔行。
    • U: (非贪婪) 交换 x*x*? 的含义。

查看 regexp_count 查询示例

regexp_like

如果正则表达式在字符串中至少有一个匹配项,则为 True;否则为 false。

regexp_like(str, regexp[, flags])
参数
  • str: 要操作的字符串表达式。可以是常量、列或函数,以及字符串运算符的任意组合。
  • regexp: 要针对字符串表达式测试的正则表达式。可以是常量、列或函数。
  • flags: 可选的正则表达式标志,用于控制正则表达式的行为。支持以下标志
    • i: (不区分大小写) 匹配时忽略大小写。
    • m: (多行) ^$ 分别匹配行的开头和结尾。
    • s: (单行) . 匹配换行符 (\n)。
    • R: (CRLF) 当启用多行模式时,\r\n 用于分隔行。
    • U: (非贪婪) 交换 x*x*? 的含义。

查看 regexp_like 查询示例

regexp_match

返回字符串中正则表达式匹配项的列表。

regexp_match(str, regexp, flags)
参数
  • str: 要操作的字符串表达式。可以是常量、列或函数,以及字符串运算符的任意组合。
  • regexp: 要匹配的正则表达式。可以是常量、列或函数。
  • flags: 正则表达式标志,用于控制正则表达式的行为。支持以下标志。
    • i: (不区分大小写) 匹配时忽略大小写。

查看 regexp_match 查询示例

regexp_replace

替换字符串中与正则表达式匹配的子字符串。

regexp_replace(str, regexp, replacement, flags)
参数
  • str: 要操作的字符串表达式。可以是常量、列或函数,以及字符串运算符的任意组合。
  • regexp: 要匹配的正则表达式。可以是常量、列或函数。
  • replacement: 替换字符串表达式。可以是常量、列或函数,以及字符串运算符的任意组合。
  • flags: 正则表达式标志,用于控制正则表达式的行为。支持以下标志。
    • g: (全局) 全局搜索,并且在第一次匹配后不返回。
    • i: (不区分大小写) 匹配时忽略大小写。

查看 regexp_replace 查询示例


此页是否对您有帮助?

感谢您的反馈!


Flux 的未来

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

阅读更多

现已全面上市

InfluxDB 3 Core 和 Enterprise

快速启动。更快扩展。

获取更新

InfluxDB 3 Core 是一个开源、高速、近实时数据引擎,可以实时收集和处理数据,并将其持久化到本地磁盘或对象存储。InfluxDB 3 Enterprise 构建在 Core 的基础上,增加了高可用性、读取副本、增强的安全性以及数据压缩功能,以实现更快的查询和优化的存储。InfluxDB 3 Enterprise 的免费层可供非商业家庭或业余爱好者使用。

有关更多信息,请查看