oracle正则提取,Oracle正则表达式(REGEXP_)相关函数

我们在进行字符串比对和处理的时候,正则表达式(Regular Expression)是我们经常使用的利器。借助正则表达式的模式匹配功能,可以帮助我们强化一些传统的函数操作功能,来提高我们处理效果。

在Oracle函数中,也提供了若干与正则表达式相关的函数和操作。用好这些函数,可以大大提升我们的处理字符串的能力和水平。Oracle的正则相关函数,主要是以REGEXP_作为前缀进行标识。主要的正则处理函数包括regexp_count、regexp_instr、regexp_replace和regexp_substr。本篇主要介绍这几种函数的使用格式和应用,供有需要的朋友待查。

0、环境说明

我们的使用都在Oracle 11gR2上进行。

SQL> select * from v$version;

BANNER

--------------------------------------------------------------------------------

Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production

PL/SQL Release 11.2.0.1.0 - Production

CORE11.2.0.1.0Production

TNS for Linux: Version 11.2.0.1.0 - Production

NLSRTL Version 11.2.0.1.0 - Production

1、REGEXP_COUNT

REGEXP_COUNT是返回正则表达式匹配成功格式的函数。其具体格式为如下:

从函数名称上,我们也可以猜到regexp_count的基本含义。对一个source_char字符串应用正则模式匹配,返回匹配成功的次数。在语法树结构中,如果需要从特定的position进行匹配,可以添加position参数。

此外,通过match_param进行匹配行为的控制。我们先看一个简单的实例。

SQL> select regexp_count('423423','(42)') from dual;

REGEXP_COUNT('423423','(42)')

----------

你可能感兴趣的:(oracle正则提取)