REGEXP_SUBSTR
返回字符串 expr
中与正则表达式 pat
匹配的子字符串,如果没有匹配则返回 NULL。如果 expr
或 pat
为 NULL,则返回值为 NULL。
语法
REGEXP_SUBSTR(<expr>, <pat[, pos[, occurrence[, match_type]]]>)
参数
参数 | 描述 |
---|---|
expr | 要匹配的字符串表达式 |
pat | 正则表达式 |
pos | 可选。在 expr 中开始搜索的位置。如果省略,默认值为 1。 |
occurrence | 可选。要搜索的匹配项的出现次数。如果省略,默认值为 1。 |
match_type | 可选。指定如何执行匹配的字符串。其含义与 REGEXP_LIKE() 中的描述相同。 |
返回类型
VARCHAR
示例
SELECT REGEXP_SUBSTR('abc def ghi', '[a-z]+');
+----------------------------------------+
| REGEXP_SUBSTR('abc def ghi', '[a-z]+') |
+----------------------------------------+
| abc |
+----------------------------------------+
SELECT REGEXP_SUBSTR('abc def ghi', '[a-z]+', 1, 3);
+----------------------------------------------+
| REGEXP_SUBSTR('abc def ghi', '[a-z]+', 1, 3) |
+----------------------------------------------+
| ghi |
+----------------------------------------------+
SELECT REGEXP_SUBSTR('周 周周 周周周 周周周周', '周+', 2, 3);
+------------------------------------------------------------------+
| REGEXP_SUBSTR('周 周周 周周周 周周周周', '周+', 2, 3) |
+------------------------------------------------------------------+
| 周周周周 |
+------------------------------------------------------------------+