有用dojo做的网站吗,优秀网站特点,普通网站建设是什么,网站asp代码一、Oracle 正则表达式相关函数 (1) regexp_like #xff1a;同 like 功能相似#xff08;模糊 匹配#xff09; (2) regexp_instr #xff1a;同 instr 功能相似#xff08;返回字符所在 下标#xff09; (3) regexp_substr #xff1a; 同 substr 功能相似…一、Oracle 正则表达式相关函数 (1) regexp_like 同 like 功能相似模糊 匹配 (2) regexp_instr 同 instr 功能相似返回字符所在 下标 (3) regexp_substr 同 substr 功能相似截取 字符串 (4) regexp_replace同 replace 功能相似 替换 字符串 使用了 正则表达式 替代了老的 百分比 % 和 通配符 _
WITH AA AS (SELECT ABCDEF AS NAME FROM DUALUNION ALLSELECT ABCDEFG AS NAME FROM DUAL
)
SELECT * FROM AA WHERE NAME LIKE A____F; -- 其中_表示单个字符,Result:ABCDEF
二、正则规则 三、正则函数 regexp_substr()
参数解释
srcstr : 源字符串 -- source string
pattern : 正则表达式
position : 起始位置默认 1
occurrence : 第几次出现默认 1匹配成功的次数依次递增
modifier : 模式i: 不区分大小写c: 区分大小写。 默认 c
subexpression: 含有子表达式 0-9, 默认 0不含子表达式1第一个子表达式以此类推样例
with temp_email as (select 1 user_no, aaaqq.com email from dual union allselect 2 user_no, bbb2sina.com email from dual union allselect 3 user_no, ccc3aliyun.com email from dual
)
select t.user_no 用户编号,regexp_substr(t.email,[[:alnum:]]) 用户名,regexp_substr(t.email, \[[:alnum:]]\.[[:alnum:]]) 邮箱后缀-- 两者等同--regexp_substr(t.email,[a-zA-Z0-9]) 用户名2,--regexp_substr(t.email, \[a-zA-Z0-9]\.[a-zA-Z0-9]) 邮箱后缀2from temp_email t;
结果 SELECT REGEXP_SUBSTR(34,56,-23, [^,], 1, LEVEL, i) AS STR FROM DUAL
CONNECT BY LEVEL LENGTH(34,56,-23) - LENGTH(REGEXP_REPLACE(34,56,-23, ,, )) 1;regexp_instr()
参数解释
srcstr : 源字符串 -- source string
pattern : 正则表达式
position : 起始位置默认 1
occurrence : 第几次出现默认 1匹配成功的次数依次递增
returnparam : 返回参数对应的下标0第一个位置的下标非0最后一个位置的下标
modifier : 模式i: 不区分大小写c: 区分大小写。 默认 c
subexpression: 含有子表达式 0-9, 默认 0不含子表达式1第一个子表达式以此类推样例
select regexp_instr(1,23,456,7890, [0-9], 1, 3) 匹配到的第一个字符下标, -- 6regexp_instr(1,23,456,7890, [0-9], 1, 3, 1) 最后一个字符后一位的下标, -- 9regexp_instr(1234567890, (123)(4)(56)(78), 1, 1, 0, i, 4) 匹配到的第四个子表达式 -- 7from dual;regexp_replace()
with temp_strings as ( select abc123 str from dual union allselect 123abc str from dual union allselect a1b2c3 str from dual
)
select t.str 源字符串,regexp_replace(t.str, [0-9], , 1) 无数字字符串from temp_strings t;regexp_like()
with temp_strings as ( select abc123 str from dual union allselect 12abcd str from dual union allselect a1b2c3 str from dual
)
select t.str 连续的三个数字字符from temp_strings twhere regexp_like(t.str, [0-9]{3});