【oracle】正则表达式函数REGEXP_LIKE(x,pattern)

1.REGEXP_LIKE(x,pattern)函数

REGEXP_LIKE(x,pattern)函数的功能类似于like运算符, 用于判断源字符串是否匹配或包含指定模式的子串。 x指定源字符串, pattern是正则表达式字符串。该函数只可用在where子句中。

2.正则表达式规则

(1) 正则表达式通常是由普通字符和元字符组成。
(2) 元字符. 匹配任意单个字符,包括空格、 Tab字符甚至换行符。

(3) 元字符[]描述值的集合。

--查找用户,要求last_name中含有’B’开头,第二个字符是l,m,n中的一个,第三个字符是a,b,c,u,v,w中的一---个,以c,d,e中的某一个字符结尾,长度为4的子串。
SELECT *
FROM customers
WHERE REGEXP_LIKE(last_name,'B[lmn][abcuvw][cde]');

(4) 可在[]中使用-表示范围
(5) 用来界定子表达式,内部使用元字符|表示或的关系。

--查找用户,要求last_name中含有’ l’开头,后跟‘ue’或’ ack’的子串。
SELECT *
FROM customers
WHERE REGEXP_LIKE(last_name,'l(ue|ack)');

(6) 元字符 {n}表示重复前面的元素n次;如: {2,5}表示前面的元素重复2到5次; {3,}表示至少重复3次。
(7) 对于重复次数的限制,还可使用下列特殊元字符:
* 表示前面的元素重复0次或多次
? 表示前面的元素重复0次或1次
+ 表示前面的元素重复1次或多次
(8) 转义字符\
(9) 中括号中的^符号表示“否”,中括号外的^表示字符串开始,$表示字符串结束
(10) \d \D \w \W \s \S等表示快捷符号

3.REGEXP_LIKE函数的完整用法
REGEXP_LIKE(x,pattern[,match_option])
判断x中是否包含pattern定义的字符串。 match_option可取的值有:
‘c’ --表明匹配时区分大小写(默认选项)
‘i’ --表明匹配时不区分大小写
‘n’ --允许.匹配任意字符,也可以匹配换行符
‘m’ --.不匹配换行符
 

  • 3
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值