oracle正则函数

  • regexp_like

    function regexp_like(str,pattern)

     str :需要正则处理的字符串
     
     pattern : 进行匹配的正则表达式
    

    模糊查询和 like 类似

  • REGEXP_SUBSTR

    function REGEXP_SUBSTR(str, pattern, position, occurrence, modifier)

     str     :需要进行正则处理的字符串
     
     pattern    :进行匹配的正则表达式
     
     position   :起始位置,从第几个字符开始正则表达式匹配(默认为1)
     
     occurrence :标识第几个匹配组,默认为1
     
     modifier   :模式('i'不区分大小写进行检索;'c'区分大小写进行检索。默认为'c'。)
    

    截取匹配的 pattern 的字符串,多个匹配截取第 occurrence 个匹配组

  • REGEXP_INSTR

  • REGEXP_REPLACE

     function regexp_replace(str,pattern,replaceStr, position, occurrence, modifier)
    
     6个参数
     
     第一个是输入的字符串
     
     第二个是正则表达式
     
     第三个是替换的字符
     
     第四个是标识从第几个字符开始正则表达式匹配。(默认为1)
     
     第五个是标识第几个匹配组。(默认为全部都替换掉)
     
     第六个是是取值范围:
     
     i:大小写不敏感;
     
     c:大小写敏感;
     
     n:点号 . 不匹配换行符号;
     
     m:多行模式;
     
     x:扩展模式,忽略正则表达式中的空白字符。
     
     (1) 替换匹配的字符串
     		select regexp_replace('abc123wxz','[a-zA-Z]+','') str  from dual
     	    结果 : 123
     	    把字母替换成空
     		 
     (2)也可以替换连续匹配多个子表达式位置
     		select regexp_replace('123abc','(\d+)(\w+)','\2\1') from dual
     		结果 : abc123
    
描述
^匹配一个字符串的开始。如果与“m” 的match_parameter一起使用,则匹配表达式中任何位置的行的开头。
$匹配字符串的结尾。如果与“m” 的match_parameter一起使用,则匹配表达式中任何位置的行的末尾。
*匹配零个或多个。
+匹配一个或多个出现。
匹配零次或一次出现。
匹配任何字符,除了空。
[]用于指定一个匹配列表,您尝试匹配列表中的任何一个字符。
[^]用于指定一个不匹配的列表,您尝试匹配除列表中的字符以外的任何字符。
()用于将表达式分组为一个子表达式。
{M}匹配m次。
{M,}至少匹配m次。
{M,N}至少匹配m次,但不多于n次。
\ nn是1到9之间的数字。在遇到\ n之前匹配在()内找到的第n个子表达式。
[…]匹配一个可以多于一个字符的整理元素。
[:]匹配字符类。
[==]匹配等价类。
\ d匹配一个数字字符。
\ D匹配一个非数字字符。
\ w匹配包括下划线的任何单词字符。
\ W匹配任何非单词字符。
\ s匹配任何空白字符,包括空格,制表符,换页符等等。
\ S匹配任何非空白字符。
\A在换行符之前匹配字符串的开头或匹配字符串的末尾。
\Z匹配字符串的末尾。
*?匹配前面的模式零次或多次发生。
+?匹配前面的模式一个或多个事件。
??匹配前面的模式零次或一次出现。
{N}?匹配前面的模式n次。
{N,}?匹配前面的模式至少n次。
{N,M}?匹配前面的模式至少n次,但不超过m次。

原文地址

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值