Oracle SQL语句 之 regexp_substr函数

定义

regexp_substr()函数,即在substr函数中加入正则表达式进行对指定字符串的截取。

语法

REGEXP_SUBSTR(String, pattern, position, occurrence, modifier)。
其中:
string:需要进行正则处理的字符串;
pattern:进行匹配的正则表达式;
position:起始位置,从字符串的第几个字符开始正则表达式匹配(默认为1),注意:字符串最初的位置是1而不是0;
occurrence:获取第几个分割出来的组(分割后最初的字符串会按分割的顺序排列成组);
modifier:模式(‘i’不区分大小写进行检索;‘c’区分大小写进行检索。默认为’c’)针对的是正则表达式里字符大小写的匹配。

同时,列出几个常用的正则表达式:
1)^[\u4e00-\u9fa5] //匹配中文字符;
2)^[1-9]\d*$ //匹配正整数;
3)^[A-Za-z]+$ //匹配由26个英文字母组成的字符串;
4)^[A-Z]+$ //匹配由26个英文字母的大写组成的字符串;
5)^[a-z]+$ //匹配由26个英文字母的小写组成的字符串;
6)^[A-Za-z0-9]+$ //匹配由数字和26个英文字母组成的字符串;

返回值类型

字符串

举例

未加函数

select a.value from test a

file

加入函数

select regexp_substr(a.value,'[0-9]+',1,1,'i') from test a

file

select regexp_substr(a.value,'[0-1]+',1,1,'i') from test a

file

Related Posts