REGEXP_SUBSTR

说明

通过搜索正则表达式模式返回从原字符串中提取的数据

语法

regexp_substr ::=

参数

source_str

原字符串

pattern

正则表达式

position_str

原字符串的起始位置

occurrence_str

指定要试用的模式字符串的第n个匹配位置

match_parameter

匹配字符串的方式支持

i:大小写不敏感

c:大小写敏感

n:点号.不匹配换行符号

m:多行模式

x:扩展模式,忽略正则表达式中的空白字符

u:使用unicode字符集。

返回值

根据规则返回匹配的子字符串

示例

示例1:使用REGEXP_SUBSTR函数返回与字符串SUB的第一次出现相对应的部分,对大小写不敏感

--  使用REGEXP_SUBSTR函数返回与字符串SUB的第一次出现相对应的部分,对大小写不敏感
SELECT regexp_substr('test->regexp_substr!','SUB', 1, 1, 'i');
REGEXP_SUBSTR(text)      |
-------------------------
sub                      |
总数目:1


--查找以 utf8 编码保存的字符串中第一个中文字符串。
select convert_encoding_using(regexp_substr(convert_encoding_using('123你好世界456你好中国', 'utf8'), '[\x{4e00}-\x{9fff}]+', 1, 1, 'u'), 'utf8');
CONVERT_ENCODING_USING(text)      |
----------------------------------
你好世界                              |
总数目:1