文档文档

SQL 正则表达式函数

InfluxDB 3 Core SQL 实现使用 PCRE 类似的正则表达式 语法(不包括某些特性,如 look-around 和反向引用)并支持以下正则表达式函数:

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 查询示例


此页面是否有帮助?

感谢您的反馈!


InfluxDB 3.8 新特性

InfluxDB 3.8 和 InfluxDB 3 Explorer 1.6 的主要增强功能。

查看博客文章

InfluxDB 3.8 现已适用于 Core 和 Enterprise 版本,同时发布了 InfluxDB 3 Explorer UI 的 1.6 版本。本次发布着重于操作成熟度,以及如何更轻松地部署、管理和可靠地运行 InfluxDB。

更多信息,请查看

InfluxDB Docker 的 latest 标签将指向 InfluxDB 3 Core

在 **2026 年 2 月 3 日**,InfluxDB Docker 镜像的 latest 标签将指向 InfluxDB 3 Core。为避免意外升级,请在您的 Docker 部署中使用特定的版本标签。

如果使用 Docker 来安装和运行 InfluxDB,latest 标签将指向 InfluxDB 3 Core。为避免意外升级,请在您的 Docker 部署中使用特定的版本标签。例如,如果使用 Docker 运行 InfluxDB v2,请将 latest 版本标签替换为 Docker pull 命令中的特定版本标签 — 例如

docker pull influxdb:2