跳到主要内容

REGEXP_SPLIT_TO_ARRAY

引入或更新于:v1.2.756

使用正则表达式模式拆分字符串,并将分段作为数组返回。

语法

REGEXP_SPLIT_TO_ARRAY(string, pattern [, flags text])
参数描述
string要拆分的输入字符串(VARCHAR 类型)
pattern用于拆分的正则表达式模式(VARCHAR 类型)
flags text用于修改正则表达式行为的标志字符串

支持的 flags 参数: 提供灵活的正则表达式配置选项,通过组合以下字符来控制匹配行为:

  • i(不区分大小写):模式匹配忽略大小写
  • c(区分大小写):模式匹配区分大小写(默认行为)
  • nm(多行):启用多行模式。在此模式下,^$ 分别匹配字符串的开头和结尾,以及每行的开头和结尾;点 . 不匹配换行符
  • s(单行):启用单行模式(也称为点匹配换行符)。在此模式下,点 . 匹配任何字符,包括换行符
  • x(忽略空白):忽略模式中的空白字符(提高模式的可读性)
  • q(字面量):将 pattern 视为字面量字符串而不是正则表达式

示例

基本拆分

SELECT REGEXP_SPLIT_TO_ARRAY('apple,orange,banana', ',');
┌───────────────────────────────────────────┐
["apple","orange","banana"]
└───────────────────────────────────────────┘

复杂分隔符

SELECT REGEXP_SPLIT_TO_ARRAY('2023-01-01T14:30:00', '[-T:]');
┌───────────────────────────────────────────────────────┐
["2023","01","01","14","30","00"]
└───────────────────────────────────────────────────────┘

处理空元素

SELECT REGEXP_SPLIT_TO_ARRAY('a,,b,,,c', ',+');
┌───────────────────────────────────┐
["a","b","c"]
└───────────────────────────────────┘

使用标志文本

SELECT regexp_split_to_array('One_Two_Three', '[_-]', 'i')

╭─────────────────────────────────────────────────────╮
['One','Two','Three']
╰─────────────────────────────────────────────────────╯

另请参阅

开始使用 Databend Cloud
低成本
快速分析
多种数据源
弹性扩展
注册