玉祥平台客服-15087858732

标题: oracle正则表达式例子 [打印本页]

作者: 张兴康    时间: 2020-7-2 17:44
标题: oracle正则表达式例子
--[[:alnum]]+表示匹配1个或多个字母或数字字符
SELECT regexp_substr('1PSN/231_3253/ABc', '[[:alnum:]]+') FROM dual;


--[[: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






作者: 陈晓龙    时间: 2020-7-3 11:38
你运用过吗!
作者: 万望    时间: 2020-7-3 15:06
字体真是花哨,看着吃力
作者: 张兴康    时间: 2020-7-3 16:02
哦,是复制我为知笔记上的




欢迎光临 玉祥平台客服-15087858732 (http://plat.delit.cn/) Powered by Discuz! X3.2