Oracle函数值REGEXP_SUBSTR

Oracle函数值REGEXP_SUBSTR_第1张图片

REGEXP_SUBSTR是对SUBSTR功能一种扩展, 类似于REGEXP_INSTR,但不是返回匹配字符串的位置,而是直接返回匹配的字符串.

返回值: VARCHAR2 or CLOB两种形式(与源字符串的字符集相同)

参数:

source_string: 源字符串, 即将要被查找的字符串

pattern: 正则表达式

position: 开始查找的位置,默认值为1

occurrence: 匹配的次数

match_parameter: 对函数的特殊要求. (如果使用了相互矛盾的参数,那么取最后的参数),如果省略了这个参数,那么表示大小写敏感将由NLS_SORT参数决定,源字符串将看作一行, (.)也不会匹配回车换行符

--------------i: 大小写敏感

--------------c: 大小写不敏感

--------------n: 允许使用(.),即匹配任意字符,匹配回车换行字符. 如果省略这个参数,就表示不匹配回车换行符

--------------m: 同上, oracle会把源字符串当作是一个多行字符串,对于^和$是分别针对每一行,而不是整个源字符串的开始和结尾.如果省略此参数,则表示源字符串是一行

SELECT
  REGEXP_SUBSTR('500 Oracle Parkway, Redwood Shores, CA',
                ',[^,]+,') "REGEXPR_SUBSTR"
  FROM DUAL;

REGEXPR_SUBSTR
-----------------
, Redwood Shores,



SELECT
  REGEXP_SUBSTR('http://www.oracle.com/products',
                'http://([[:alnum:]]+\.?){3,4}/?') "REGEXP_SUBSTR"
  FROM DUAL;

REGEXP_SUBSTR
----------------------
http://www.oracle.com/






你可能感兴趣的:(Oracle函数值REGEXP_SUBSTR)