-
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次。 |
\ n | n是1到9之间的数字。在遇到\ n之前匹配在()内找到的第n个子表达式。 |
[…] | 匹配一个可以多于一个字符的整理元素。 |
[:] | 匹配字符类。 |
[==] | 匹配等价类。 |
\ d | 匹配一个数字字符。 |
\ D | 匹配一个非数字字符。 |
\ w | 匹配包括下划线的任何单词字符。 |
\ W | 匹配任何非单词字符。 |
\ s | 匹配任何空白字符,包括空格,制表符,换页符等等。 |
\ S | 匹配任何非空白字符。 |
\A | 在换行符之前匹配字符串的开头或匹配字符串的末尾。 |
\Z | 匹配字符串的末尾。 |
*? | 匹配前面的模式零次或多次发生。 |
+? | 匹配前面的模式一个或多个事件。 |
?? | 匹配前面的模式零次或一次出现。 |
{N}? | 匹配前面的模式n次。 |
{N,}? | 匹配前面的模式至少n次。 |
{N,M}? | 匹配前面的模式至少n次,但不超过m次。 |