跳到主要内容
版本: 最新版本-3.5

regexp_split

通过正则表达式 pattern 分割字符串 str,并在 ARRAY<VARCHAR> 类型中返回最多 max_split 个元素。

语法

regexp_split(str, pattern[, max_split])

参数

str: 必需,要分割的字符串,必须计算为 VARCHAR 值。

pattern: 必需,用于分割的正则表达式模式,必须计算为 VARCHAR 值。

max_split:可选,输出值中的最大元素数,必须计算为 INT 值。

返回值

返回 ARRAY<VARCHAR> 值。

示例

mysql> select regexp_split('StarRocks', '');
+---------------------------------------+
| regexp_split('StarRocks', '') |
+---------------------------------------+
| ["S","t","a","r","R","o","c","k","s"] |
+---------------------------------------+

mysql> select regexp_split('StarRocks', '[SR]');
+-----------------------------------+
| regexp_split('StarRocks', '[SR]') |
+-----------------------------------+
| ["","tar","ocks"] |
+-----------------------------------+

mysql> select regexp_split('StarRocks', '[SR]', 1);
+--------------------------------------+
| regexp_split('StarRocks', '[SR]', 1) |
+--------------------------------------+
| ["StarRocks"] |
+--------------------------------------+

mysql> select regexp_split('StarRocks', '[SR]', 2);
+--------------------------------------+
| regexp_split('StarRocks', '[SR]', 1) |
+--------------------------------------+
| ["","tarRocks"] |
+--------------------------------------+