oracle的REGEXP_SUBSTR的⽤法function REGEXP_SUBSTR(String, pattern, position, occurrence, modifier)
String    :需要进⾏正则处理的字符串
pattern  :进⾏匹配的正则表达式
position  :起始位置,从第⼏个字符开始正则表达式匹配(默认为1)
occurrence:标识第⼏个匹配组,默认为1
occurrence :模式('i'不区分⼤⼩写进⾏检索;'c'区分⼤⼩写进⾏检索。默认为'c'。)
----
2.量词:?⽤来匹配0和1个字符
*⽤来匹配0和多个字符
+⽤来匹配1和多个字符
A{3} 表⽰匹配3个字符A,
A{3,} 三个或者多个字符A
A{3,5}⽤来匹配3到5个字符A
量词匹配遵循贪婪原则,量词?可取消贪婪原则
3.字符转义和字符类
\和其他字符进⾏组合(包含元字符)
单字符匹配;\n 换⾏ \r 回车 \t制表符
多字符匹配;\s匹配空⽩符(空格、制表、回车、换⾏)
\d匹配数字
\w匹配可组成的单词
【】⽤来定义字符的范围【1,2】【0-9】【a-z】
^⽤来表⽰范围之外的字符【^a】
正则匹配空字符串
4.字符组
模式中的某些部分还可成为⼀个整体,⽤量词修饰
(123as)+ ⽤来匹配123as123as
编程语⾔中可⽤$1 $2⽤来获取第⼀个第⼆个字符租
5.正则表达式分⽀ | \d{4}|\w{4} 类似于逻辑关系or
regexp_like(列或者表达式中获取的string,匹配的string)返回布尔值
regexp_instr(列或者表达式中得到的string,匹配表达式,匹配开始位置,匹配的第⼏次作为结果) 返回值为number regexp_substr()
select id,regexp_substr(html,'http[a-zA-Z0-9\.:/]*') url from html;
结果返回html 列中符合http[a-zA-Z0-9\.:/]中的字符创
regexp_replace ()
select regexp_replace('09/07/2001' ,'^([0-9]{2})/([0-9]{2})/([0-9]{4}) $),'\3-\2\1') replace from dual;
([0-9]{2})/([0-9]{2})/([0-9]{4})匹配09/07/2001
\3-\2\1 重新排序输出缓存中的三个分组并替换 09/07/2001

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。