--[[:alnum]]+表示匹配1个或多个字母或数字字符;1表示从源字符串的第一个字符开始查找匹配,2表示第二次匹配到的字符串
SELECT regexp_substr('1PSN/231_3253/ABc', '[[:alnum:]]+', 1, 2) FROM dual;
--@* 表示匹配0个或者多个@;[[:alnum:]]+ 表示匹配1个或者多个字母或数字字符
select regexp_substr('@@/231_3253/ABc','@*[[:alnum:]]+') from dual;
--@+ 表示匹配1个或者多个@ ;[[:alnum:]]* 表示匹配0个或者多个字母或数字字符
select regexp_substr('1@/231_3253/ABc','@+[[:alnum:]]*') from dual;
--[[:digit:]]+$ 表示匹配1个或者多个数字结尾的字符
select regexp_substr('@1PSN/231_3253/ABc125','[[:digit:]]+$') from dual;
--[^[:digit:]]+$ 表示匹配1个或者多个不是数字结尾的字符
select regexp_substr('@1PSN/231_3253/ABc','[^[:digit:]]+$') from dual;
--[^@]+ 表示匹配1个或者多个不是“@”的字符
select regexp_substr('Tom_Kyte@oracle.com','[^@]+') from dual;
--([a-z]) 表示小写字母a-z;\1 表示匹配前面的字符的连续次数 ;1 表示从源字符串的第1个字符开始匹配
--1 第1次出现符合匹配结果的字符;i 表示区分大小写
SELECT regexp_substr('Republicc Of Africaa', '([a-z])\1', 1, 1, 'i') FROM dual;
--http:// 表示匹配字符串“http://”
--([[:alnum:]]+\.?) 表示匹配1次或者多次字母或数字字符,紧跟0次或1次.符
--{3,4} 表示匹配前面的字符最少3次,最多4次
--/? 表示匹配一个反斜杠字符0次或者1次
SELECT regexp_substr('Go to http://www.oracle.com/products and click on database', 'http://([[:alnum:]]+\.?){3,4}/?') RESULT FROM dual