Oracle 正则表达式函数学习

正则表达式中的元字符

-n:匹配换行符
-^:匹配字符串的开头位置 如果A是字符串的第一个字符,^A 匹配 A 
-$:匹配字符串的末尾位置 如果B是字符串的最后一个字符,$B 匹配 B
-*:匹配前面的字符0次或多次 ba*rk可以匹配 brk、bark、baark等等
-+:匹配前面的字符1次或多次 ba+rk可以匹配 bark、baark等等,但是不能匹配brk,也就是说,最少有一次
-?: 匹配前面的字符0次或1次 ba?rk可以匹配 bark、brk等等,但是不能匹配baark
-{n}:匹配前面的字符恰好是n次,其中n是整数 hob{2}it可以匹配hobbit
-{n,m}:匹配前面的字符至少是n次,最多是m次,其中n,m都是整数 hob{2,3}it可以匹配hobbit或者hobbbit
-.:匹配除null以外的任意单个字符,hob.it中的.可以是任意的单个字符,如:hobsit,hobbit等等
-(pattern):括号中pattern是一个子正则表达式,匹配指定pattern模式的一个子表达式, 如:aaa(x|y)可以匹配aaax或者aaay 
-x|y:匹配“或”, x|y可以匹配x或者y
-[abc]:可以匹配abc中的任何单个字符 hello[abc]可以匹配helloa,hellob,helloc
-[a-z]:可以匹配指定范围内的任何单个字符 hell[a-z]可以匹配hello或者hellz
-[::]:指定一个字符类,可以匹配该类中的任何字符 [:alphanum:]可以匹配字符0-9、A-Z、a-z
-[:alpha:]:可以匹配字符A-Z、a-z
-[:blank:]:可以匹配空格或tab键
-[:digit:]:可以匹配数字0-9
-[:graph:]:可以匹配非空字符
-[:lower:]:可以匹配小写字母a-z
-[:upper:]:可以匹配大写字母A-Z
-[:print:]与[:graph:]类似,不同之处在于[:print:]包括空格字符
-[:punct:]:可以匹配标点符号.,""等等
-[:space:]:可以匹配所有的空字符
-[:xdigit:]:可以匹配十六进制数字0-9、A-F、a-f

正则表达式中的可选参数

1.示例:REGEXP_LIKE(x,pattern[,match_option])——用于在x中查找正则表达式pattern,该函数还可以提供一个可选的参数match_option字符串说明默认的匹配选项
2.match_option的取值:
    -'c':说明在进行匹配时区分大小写(缺省值)
    -'i':说明在进行匹配时不区分大小写
    -'n':允许使用可以匹配任意字符的操作符
    -'m':将x作为一个包含多行的字符串

Oracle支持的四个正则表达式函数

REGEXP_LIKE

1.功能:与LIKE的功能相似
2.示例:select * from test where regexp_like(mc,'^a{1,3}');

REGEXP_INSTR

1.功能:与INSTR的功能相似
2.示例:select regexp_instr(mc,'[[:digit:]]$') from test;

REGEXP_SUBSTR

1.功能:与SUBSTR的功能相似
2.示例:select regexp_substr(mc,'[a-z]+') from test; 

REGEXP_REPLACE

1.功能:与REPLACE的功能相似
2.示例:select regexp_replace('Joe Smith','( ){2,}', ',') as replace from dual;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值