暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

华为GaussDB T 正则表达式字符串函数REGEXP_INSTR、REGEXP_SUBSTR

原创 章芋文 2019-09-23
1766

REGEXP_INSTR

语法:

REGEXP_INSTR(str,pattern[,position[,occurrence[,return_opt[,match_param[,subexpr]]]]])

功能:返回满足正则表达式的字符串的起始位置或结束位置。

入参str是需要进行正则处理的字符串,支持STRING类型和NUMBER类型。

入参pattern是进行匹配的正则表达式。

入参position是起始位置,表示从第几个字符开始正则表达式匹配(默认为1)。

入参occurrence表示标识第几个匹配组,默认为1。

入参return_opt表示返回模式,0表示返回起始位置,1表示返回结束位置。

入参match_param表示模式('i'表示不区分大小写进行检索;'c'表示区分大小写进行检索。默认为'c'。)。

入参subexpr表示,对存在子表达式的pattern,函数返回匹配第subexpr个子表达式的字符串(默认是0)。

函数返回值是INTEGER类型。

说明:当前不支持对CLOB和BLOB数据类型的处理。

示例1:

返回字符串“17,20,23”中满足正则表达式“[^,]+”的字符串的起始位置,起始位置是第1个字符,标志第3个匹配组,不区分大小写进行检索。

SELECT REGEXP_INSTR('17,20,23','[^,]+',1,3,0,'i') AS STR FROM DUAL;
STR
---
7

1 rows fetched.

示例2:

返回字符串“17,20,23”中满足正则表达式“[^,]+”的字符串的结束位置,起始位置是第1个字符,标志第3个匹配组,不区分大小写进行检索。

SELECT REGEXP_INSTR('17,20,23','[^,]+',1,3,1,'i') AS STR FROM DUAL;
STR
---
9
1 rows fetched.


REGEXP_SUBSTR

语法:


REGEXP_SUBSTR(str,pattern[,position[,occurrence[,match_param[,subexpr]]]])

功能:返回满足正则表达式的字符串。


入参str是需要进行正则处理的字符串,支持STRING类型和NUMBER类型;入参pattern是进行匹配的正则表达式;入参position是起始位置,表示从第几个字符开始正则表达式匹配(默认为1);入参occurrence表示标识第几个匹配组,默认为1;入参match_param表示模式('i'表示不区分大小写进行检索;'c'表示区分大小写进行检索。默认为'c'。);入参subexpr表示,对存在子表达式的pattern,函数返回匹配第subexpr个子表达式的字符串(默认是0)。返回值是STRING。


说明:


当前不支持对clob和blob数据类型的处理。


示例:

返回字符串“17,20,23”中满足正则表达式“[^,]+”的字符串,起始位置是第1个字符,标志第3个匹配组,不区分大小写进行检索。

SELECT REGEXP_SUBSTR('17,20,23','[^,]+',1,3,'i') AS STR FROM DUAL;
STR
---
23
1 rows fetched.
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论