我的编程空间,编程开发者的网络收藏夹
学习永远不晚

oracle 正则表达式4个主要函数

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

oracle 正则表达式4个主要函数

Oracle使用正则表达式4个主要函数:

1、regexp_like 只能用于条件表达式,和 like 类似,但是使用的正则表达式进行匹配,语法很简单:

oracle 正则表达式4个主要函数

2、regexp_substr 函数,和 substr 类似,用于拾取合符正则表达式描述的字符子串,语法如下:

oracle 正则表达式4个主要函数

3、regexp_instr 函数,和 instr 类似,用于标定符合正则表达式的字符子串的开始位置,语法如下:

oracle 正则表达式4个主要函数

4、regexp_replace 函数,和 replace 类似,用于替换符合正则表达式的字符串,语法如下:

oracle 正则表达式4个主要函数

这里解析一下几个参数的含义:

1、source_char,输入的字符串,可以是列名或者字符串常量、变量。

2、pattern,正则表达式。

3、match_parameter,匹配选项。

取值范围: i:大小写不敏感; c:大小写敏感;n:点号 . 不匹配换行符号;m:多行模式;x:扩展模式,忽略正则表达式中的空白字符。

4、position,标识从第几个字符开始正则表达式匹配。

5、occurrence,标识第几个匹配组。

6、replace_string,替换的字符串。


--创建表及测试数据


create table tmp as
with data as (
select 'like' as id ,'a9999' as str from dual union all
select 'like'       ,'a9c'          from dual union all
select 'like'       ,'A7007'        from dual union all
select 'like'       ,'123a34cc'     from dual union all
select 'substr'     ,'123,234,345'  from  dual union all
select 'substr'     ,'12,34.56:78'  from dual union all
select 'substr'     ,'123456789'    from dual union all
select 'instr'      ,'192.168.0.1'  from dual union all
select 'replace'    ,'(020)12345678' from dual union all
select 'replace'    ,'001517729C28' from dual
)
select * from data ;


SELECT * FROM tmp;
--查询结果如下

oracle 正则表达式4个主要函数


--regexp_like 示例
--1.匹配有字母 "a"的字符不区分大小写,且匹配任意数字
\d :匹配任意数字字符
select str from tmp where id = 'like' and regexp_like(str,'a\d+','i');

oracle 正则表达式4个主要函数


select str from tmp where id='like' and regexp_like(str, 'a\d+');

oracle 正则表达式4个主要函数


select str from tmp where id='like' and regexp_like(str,'^a\d+');

oracle 正则表达式4个主要函数


SELECT str from tmp where id='like' and regexp_like(str,'^a\d+$');

oracle 正则表达式4个主要函数


--regexp_substr示例1
SELECTstr,
regexp_substr(str,'[^,]+')     str_1_1,
regexp_substr(str,'[^,]+',1,1) str_1_1,
regexp_substr(str,'[^,]+',1,2) str_1_2,  -- occurrence 第几个匹配组regexp_substr(str,'[^,]+',2,1) str_2_1   -- position 从第几个字符开始匹配from tmpwhere id='substr';

oracle 正则表达式4个主要函数


--regexp_substr示例2
SELECTSTR,
REGEXP_SUBSTR(STR, '\d') STR,
REGEXP_SUBSTR(STR, '\d+', 1, 1) STR,
REGEXP_SUBSTR(STR, '\d{2}', 1, 2) STR,
REGEXP_SUBSTR(STR, '\d{3}', 2, 1) STRFROM TMPWHERE ID = 'substr';

oracle 正则表达式4个主要函数


--regexp_instr示例1
SELECTSTR,
REGEXP_INSTR(STR, '\.') IND,
REGEXP_INSTR(STR, '\.', 1, 2) IND,
REGEXP_INSTR(STR, '\.', 5, 2) INDFROM TMPWHERE ID = 'instr';

oracle 正则表达式4个主要函数



--regexp_instr示例2
SELECTregexp_instr('192.168.0.1','\.',1,level) ind ,  -- 点号. 所在的位置regexp_instr('192.168.0.1','\d',1,level) ind    -- 每个数字的位置from dual
connect by level <=  9

oracle 正则表达式4个主要函数


--regexp_replace示例
SELECT STR,
REGEXP_REPLACE(STR, '020', 'GZ') STR,
REGEXP_REPLACE(STR, '(\d{3})(\d{3})', '<\2\1>') STR 
FROM TMPWHERE ID = 'replace';

oracle 正则表达式4个主要函数


--综合示例
WITH SUDOKU AS(SELECT '020000080568179234090000010030040050040205090070080040050000060289634175010000020' AS LINEFROM DUAL),
TMP AS(SELECT REGEXP_SUBSTR(LINE, '\d{9}', 1, LEVEL) ROW_LINE, LEVEL COLFROM SUDOKU
CONNECT BY LEVEL <= 9)SELECT REGEXP_REPLACE(ROW_LINE, '(\d)(\d)(\d)(\d)(\d)(\d)(\d)(\d)(\d)', '\1 \2 \3 \4 \5 \6 \7 \8 \9') ROW_LINEFROM TMP

oracle 正则表达式4个主要函数


 

源文:https://www.cnblogs.com/suinlove/p/3981454.html

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

oracle 正则表达式4个主要函数

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

PHP中正则表达式的函数怎么用

这篇文章将为大家详细讲解有关PHP中正则表达式的函数怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。正则表达式的函数preg. grep() 返回与模式匹配的数组单元(一维数组)首先,我们先认识返回与
2023-06-15

生成正则表达式的函数有哪些

生成正则表达式的函数有很多种,以下列举其中几种常见的:1. re.compile(pattern):将字符串 pattern 编译成正则表达式对象,返回一个正则表达式对象。2. re.match(pattern, string):尝试从字符
2023-05-25

PHP 正则表达式函数的使用方法

php 正则表达式函数提供强大的文本处理能力,包括:preg_match:检查字符串中是否存在匹配模式。preg_match_all:获取字符串中所有匹配模式的数组。preg_replace:用替换文本替换字符串中的所有匹配模式。preg_
PHP 正则表达式函数的使用方法
2024-04-21

如何理解PHP正则表达式函数库

如何理解PHP正则表达式函数库,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。浅析PHP正则表达式函数库是什么呢?这里向你介绍了PHP正则表达式函数库(POSIX
2023-06-17

python 正则表达式 split 函数在 golang 中等效

在编程领域中,正则表达式是一种强大的工具,用于匹配和处理字符串。在Python中,split函数是一个常用的正则表达式函数,用于将字符串分割成子字符串。然而,对于使用Golang的开发者来说,他们可能想知道在Golang中如何实现与Pyth
python 正则表达式 split 函数在 golang 中等效
2024-02-13

SQL LOWER函数与正则表达式结合技巧

在 SQL 中,LOWER 函数用于将文本转换为小写形式。而正则表达式是一种用于匹配和处理字符串的强大工具。在某些情况下,你可能需要将 SQL 中的文本转换为小写,并使用正则表达式进行匹配。以下是一些将 LOWER 函数与正则表达式结合使用
SQL LOWER函数与正则表达式结合技巧
2024-10-24

如何使用C++中的正则表达式函数?

如何使用C++中的正则表达式函数?正则表达式是一种强大的文本处理工具,可以用于匹配、搜索和替换文本中的模式。在C++中,我们可以使用正则表达式函数库来实现对文本的处理。本文将介绍如何在C++中使用正则表达式函数。首先,我们需要包含C++标准
如何使用C++中的正则表达式函数?
2023-11-18

怎么使用oracle正则表达式匹配数字

使用Oracle正则表达式匹配数字的方法如下:使用REGEXP_LIKE函数进行匹配例如,要匹配一个整数,可以使用以下表达式:SELECT column_nameFROM table_nameWHERE REGEXP_LIKE(co
怎么使用oracle正则表达式匹配数字
2024-04-09

C++ 函数库如何进行正则表达式匹配?

c++++ regex 库提供了一种机制来处理正则表达式:创建 regex 对象来表示正则表达式模式。使用 regex_match 匹配整个字符串。使用 regex_search 匹配字符串中的第一个子串。使用 regex_replace
C++ 函数库如何进行正则表达式匹配?
2024-04-19

PHP中的preg_match()函数用于正则表达式匹配

PHP是一种常用的服务器端编程语言,其内置函数中包含了许多强大的功能,其中一个非常重要的函数就是preg_match()函数。该函数用于正则表达式匹配,能够帮助开发者快速有效地处理字符串数据。本文将为大家介绍preg_match()函数的具
PHP中的preg_match()函数用于正则表达式匹配
2023-11-18

如何使用python正则表达式模块中的re.findall()函数

本篇内容主要讲解“如何使用python正则表达式模块中的re.findall()函数”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何使用python正则表达式模块中的re.findall()函
2023-06-16

编程热搜

目录