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_like
如果正则表达式在字符串中至少有一个匹配项,则返回 true;否则返回 false。
regexp_like(str, regexp[, flags])参数
- str:要操作的字符串表达式。可以是常量、列或函数,以及任何组合的字符串运算符。
- regexp:要用于测试字符串表达式的正则表达式。可以是常量、列或函数。
- flags:可选的正则表达式标志,用于控制正则表达式的行为。支持以下标志:
- i:(不区分大小写)匹配时忽略大小写。
- m:(多行)
^和$分别匹配行的开头和结尾。 - s:(单行)
.匹配换行符(\n)。 - R:(CRLF)启用多行模式时,使用
\r\n来分隔行。 - U:(非贪婪)交换
x*和x*?的含义。
regexp_match
返回字符串中正则表达式匹配项的列表。
regexp_match(str, regexp, flags)参数
- str:要操作的字符串表达式。可以是常量、列或函数,以及任何组合的字符串运算符。
- regexp:要匹配的正则表达式。可以是常量、列或函数。
- flags:用于控制正则表达式行为的正则表达式标志。支持以下标志。
- i:(不区分大小写)匹配时忽略大小写。
regexp_replace
替换字符串中与正则表达式匹配的子字符串。
regexp_replace(str, regexp, replacement, flags)参数
- str:要操作的字符串表达式。可以是常量、列或函数,以及任何组合的字符串运算符。
- regexp:要匹配的正则表达式。可以是常量、列或函数。
- replacement:替换字符串表达式。可以是常量、列或函数,以及任何组合的字符串运算符。
- flags:用于控制正则表达式行为的正则表达式标志。支持以下标志。
- g:(全局)全局搜索,找到第一个匹配项后不返回。
- i:(不区分大小写)匹配时忽略大小写。
此页面是否有帮助?
感谢您的反馈!
支持和反馈
感谢您成为我们社区的一员!我们欢迎并鼓励您对 InfluxDB 3 Core 和本文档提供反馈和错误报告。要获得支持,请使用以下资源
具有年度合同或支持合同的客户可以 联系 InfluxData 支持。