oracle的正则表达式

* 匹配前面的子表达式零次或多次

| 指明两项之间的一个选择。例子'^([a-z]+|[0-9]+)$'表示所有小写字母或数字组合成的字符串。 

^ 匹配输入字符串的开始位置,在方括号表达式中使用,此时它表示不接受该字符集合。
$ 匹配输入字符串的结尾位置。如果设置了 RegExp 对象的 Multiline 属性,则 $ 也匹配 'n' 或 'r'。

[] 标记一个中括号表达式

{m,n} 一个精确地出现次数范围,m=<出现次数<=n,'{m}'表示出现m次,'{m,}'表示至少出现m次。

[::]ORACLE字符类
表示 含义
[[:alpha:]] 表示任意字母,正则表达式的一般语法为\w。
[[:digit:]] 表示任意数字,正则表达式的一般语法为\d。
[[:lower:]] 表示任意小写字母。
[[:upper:]] 表示任意大写字母。
[[:alnum:]] 表示任意字母和数字。
[[:space:]] 表示任意空白字符,正则表达式的一般语法为\s。
[[:punct:]] 表示任意标点符号。
[[:xdigit:]] 表示任意16进制的数字,相当于[0-9a-fA-F]

\  4种不同含义 a.表示其本身 b.相用下一个字符 c. 引入一个运算符 d.do nothing

+匹配前面的子表达式一次或多次

?匹配前面的子表达式零次或一次。

. 匹配除null之外的任何单字符。

() 标记一个子表达式的开始和结束位置(字符组)。 

[==] 指定等价类

\n 返回引用表达式

\num 匹配 num,其中 num 是一个正整数。对所获取的匹配的引用。 
正则表达式的一个很有用的特点是可以保存子表达式以后使用,被称为Backreferencing. 允许复杂的替换能力 
如调整一个模式到新的位置或者指示被代替的字符或者单词的位置. 被匹配的子表达式存储在临时缓冲区 

中,缓冲区从左到右编号, 通过\数字符号访问。 下面的例子列出了把名字 aa bb cc 变成cc, bb, aa. 
Select REGEXP_REPLACE('aa bb cc','(.*) (.*) (.*)', '\3, \2, \1') FROM dual; 
REGEXP_REPLACE('ELLENHILDISMIT 
cc, bb, aa 
'\' 转义符。

[] 标记一个中括号表达式。


eg.

Expression:       [^abc]
   
Matches:         abcdef
   
Matches:         ghi
   
Does not match:  abc

Expression:        [^a-i]
   
Matches:         hijk
   
Matches:         lmn
   
Does not match:  abcdefghi

Using Meta Characters (continued)




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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值