SQL正则表达式函数
InfluxDB 3核心正在进行公开测试
InfluxDB 3 Core 正在进行公开 alpha 测试,并可供测试和反馈,但不适合用于生产环境。产品和本文件都是进行中的工作。我们欢迎并鼓励您分享您对 alpha 版本的体验,并邀请您加入我们的公共频道以获取更新和分享反馈。
InfluxDB 3 核心 SQL 实现使用PCRE-like正则表达式syntax(排除一些特性,如环视和反向引用),并支持以下正则表达式函数:
正则表达式匹配
如果正则表达式在字符串中至少有一个匹配,则为真;否则为假。
regexp_like(str, regexp[, flags])
参数
- str: 要操作的字符串表达式。可以是常量、列或函数,以及任何组合的字符串操作符。
- regexp: 用于与字符串表达式进行测试的正则表达式。可以是常量、列或函数。
- flags: 可选的正则表达式标志,用于控制正则表达式的行为。支持以下标志:
- i: (不区分大小写) 匹配时忽略大小写。
- m: (多行)
^
和$
分别匹配行的开头和结尾。 - s: (单行)
.
匹配换行符 (\n
)。 - R: (CRLF) 当启用多行模式时,
\r\n
用于分隔行。 - U: (非贪婪) 交换
x*
和x*?
的含义。
正则表达式匹配
返回字符串中正则表达式匹配的列表。
regexp_match(str, regexp, flags)
参数
- str: 要操作的字符串表达式。可以是常量、列或函数,以及任意组合的字符串运算符。
- regexp: 用于匹配的正则表达式。可以是常量、列或函数。
- flags: 控制正则表达式行为的正则表达式标志。支持以下标志。
- i:(不区分大小写)在匹配时忽略大小写。
正则表达式替换
替换与正则表达式匹配的字符串中的子字符串。
regexp_replace(str, regexp, replacement, flags)
参数
- str: 要操作的字符串表达式。可以是常量、列或函数,以及任何组合的字符串操作符。
- regexp: 用于匹配的正则表达式。可以是常量、列或函数。
- replacement: 替换字符串表达式。 可以是常量、列或函数,及任何字符串运算符的组合。
- flags: 正则表达式标志,用于控制正则表达式的行为。支持以下标志。
- g: (全局) 全局搜索,匹配后不返回。
- i: (不区分大小写) 匹配时忽略大小写。