- 浏览: 7339555 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (1546)
- 企业中间件 (236)
- 企业应用面临的问题 (236)
- 小布Oracle学习笔记汇总 (36)
- Spring 开发应用 (54)
- IBatis开发应用 (16)
- Oracle基础学习 (23)
- struts2.0 (41)
- JVM&ClassLoader&GC (16)
- JQuery的开发应用 (17)
- WebService的开发应用 (21)
- Java&Socket (44)
- 开源组件的应用 (254)
- 常用Javascript的开发应用 (28)
- J2EE开发技术指南 (163)
- EJB3开发应用 (11)
- GIS&Mobile&MAP (36)
- SWT-GEF-RCP (52)
- 算法&数据结构 (6)
- Apache开源组件研究 (62)
- Hibernate 学习应用 (57)
- java并发编程 (59)
- MySQL&Mongodb&MS/SQL (15)
- Oracle数据库实验室 (55)
- 搜索引擎的开发应用 (34)
- 软件工程师笔试经典 (14)
- 其他杂项 (10)
- AndroidPn& MQTT&C2DM&推技术 (29)
- ActiveMQ学习和研究 (38)
- Google技术应用开发和API分析 (11)
- flex的学习总结 (59)
- 项目中一点总结 (20)
- java疑惑 java面向对象编程 (28)
- Android 开发学习 (133)
- linux和UNIX的总结 (37)
- Titanium学习总结 (20)
- JQueryMobile学习总结 (34)
- Phonegap学习总结 (32)
- HTML5学习总结 (41)
- JeeCMS研究和理解分析 (9)
最新评论
-
lgh1992314:
[u][i][b][flash=200,200][url][i ...
看看mybatis 源代码 -
尼古拉斯.fwp:
图片根本就不出来好吧。。。。。。
Android文件图片上传的详细讲解(一)HTTP multipart/form-data 上传报文格式实现手机端上传 -
ln94223:
第一个应该用排它网关吧 怎么是并行网关, 并行网关是所有exe ...
工作流Activiti的学习总结(八)Activiti自动执行的应用 -
ZY199266:
获取不到任何消息信息,请问这是什么原因呢?
ActiveMQ 通过JMX监控Connection,Queue,Topic的信息 -
xiaoyao霄:
DestinationSourceMonitor 报错 应该导 ...
ActiveMQ 通过JMX监控Connection,Queue,Topic的信息
Oracle使用正则表达式离不开这4个函数: 1。regexp_like 2。regexp_substr 3。regexp_instr 4。regexp_replace 看函数名称大概就能猜到有什么用了。 regexp_like 只能用于条件表达式,和 like 类似,但是使用的正则表达式进行匹配,语法很简单: regexp_substr 函数,和 substr 类似,用于拾取合符正则表达式描述的字符子串,语法如下: regexp_instr 函数,和 instr 类似,用于标定符合正则表达式的字符子串的开始位置,语法如下: regexp_replace 函数,和 replace 类似,用于替换符合正则表达式的字符串,语法如下: 这里解析一下几个参数的含义: 1。source_char,输入的字符串,可以是列名或者字符串常量、变量。 2。pattern,正则表达式。 3。match_parameter,匹配选项。 取值范围: i:大小写不敏感; c:大小写敏感;n:点号 . 不匹配换行符号;m:多行模式;x:扩展模式,忽略正则表达式中的空白字符。 4。position,标识从第几个字符开始正则表达式匹配。 5。occurrence,标识第几个匹配组。 6。replace_string,替换的字符串。
oracle 10g正则表达式 REGEXP_LIKE 用法 /* ORACLE中的支持正则表达式的函数主要有下面四个: 1,REGEXP_LIKE :与LIKE的功能相似 2,REGEXP_INSTR :与INSTR的功能相似 3,REGEXP_SUBSTR :与SUBSTR的功能相似 4,REGEXP_REPLACE :与REPLACE的功能相似 它们在用法上与Oracle SQL 函数LIKE、INSTR、SUBSTR 和REPLACE 用法相同, 但是它们使用POSIX 正则表达式代替了老的百分号(%)和通配符(_)字符。 POSIX 正则表达式由标准的元字符(metacharacters)所构成: '^' 匹配输入字符串的开始位置,在方括号表达式中使用,此时它表示不接受该字符集合。 '$' 匹配输入字符串的结尾位置。如果设置了 RegExp 对象的 Multiline 属性,则 $ 也匹 配 '\n' 或 '\r'。 '.' 匹配除换行符之外的任何单字符。 '?' 匹配前面的子表达式零次或一次。 '+' 匹配前面的子表达式一次或多次。 '*' 匹配前面的子表达式零次或多次。 '|' 指明两项之间的一个选择。例子'^([a-z]+|[0-9]+)$'表示所有小写字母或数字组合成的 字符串。 '( )' 标记一个子表达式的开始和结束位置。 '[]' 标记一个中括号表达式。 '{m,n}' 一个精确地出现次数范围,m=<出现次数<=n,'{m}'表示出现m次,'{m,}'表示至少 出现m次。 \num 匹配 num,其中 num 是一个正整数。对所获取的匹配的引用。 字符簇: [[:alpha:]] 任何字母。 [[:digit:]] 任何数字。 [[:alnum:]] 任何字母和数字。 [[:space:]] 任何白字符。 [[:upper:]] 任何大写字母。 [[:lower:]] 任何小写字母。 [[:punct:]] 任何标点符号。 [[:xdigit:]] 任何16进制的数字,相当于[0-9a-fA-F]。 各种操作符的运算优先级 \转义符 (), (?:), (?=), [] 圆括号和方括号 *, +, ?, {n}, {n,}, {n,m} 限定符 ^, $, anymetacharacter 位置和顺序 | */
tbs@TICKET> create table fzq 2 ( 3 id varchar(4), 4 value varchar(10) 5 ); 表已创建。 tbs@TICKET> --数据插入 tbs@TICKET> insert into fzq values 2 ('1','1234560'); 已创建 1 行。 tbs@TICKET> insert into fzq values 2 ('2','1234560'); 已创建 1 行。 tbs@TICKET> insert into fzq values 2 ('3','1b3b560'); 已创建 1 行。 tbs@TICKET> insert into fzq values 2 ('4','abc'); 已创建 1 行。 tbs@TICKET> insert into fzq values 2 ('5','abcde'); 已创建 1 行。 tbs@TICKET> insert into fzq values 2 ('6','ADREasx'); 已创建 1 行。 tbs@TICKET> insert into fzq values 2 ('7','123 45'); 已创建 1 行。 tbs@TICKET> insert into fzq values 2 ('8','adc de'); 已创建 1 行。 tbs@TICKET> insert into fzq values 2 ('9','adc,.de'); 已创建 1 行。 tbs@TICKET> insert into fzq values 2 ('10','1B'); 已创建 1 行。 tbs@TICKET> insert into fzq values 2 ('10','abcbvbnb'); 已创建 1 行。 tbs@TICKET> insert into fzq values 2 ('11','11114560'); 已创建 1 行。 tbs@TICKET> insert into fzq values 2 ('11','11124560'); 已创建 1 行。 tbs@TICKET> commit; 提交完成。 tbs@TICKET> select * from fzq where value like '1____60'; ID VALUE ---- ---------- 1 1234560 2 1234560 3 1b3b560 tbs@TICKET> select * from fzq where regexp_like(value,'1....60'); ID VALUE ---- ---------- 1 1234560 2 1234560 3 1b3b560 11 11114560 11 11124560 tbs@TICKET> select * from fzq where regexp_like(value,'1[0-9]{4}60'); ID VALUE ---- ---------- 1 1234560 2 1234560 11 11114560 11 11124560 tbs@TICKET> select * from fzq where regexp_like(value,'1[[:digit:]]{4}60'); ID VALUE ---- ---------- 1 1234560 2 1234560 11 11114560 11 11124560 tbs@TICKET> select * from fzq where not regexp_like(value,'^[[:digit:]]+$'); ID VALUE ---- ---------- 3 1b3b560 4 abc 5 abcde 6 ADREasx 7 123 45 8 adc de 9 adc,.de 10 1B 10 abcbvbnb 已选择9行。 tbs@TICKET> -- 查询value中不是纯数字的记录 tbs@TICKET> select * from fzq where not regexp_like(value,'^[[:digit:]]+$'); ID VALUE ---- ---------- 3 1b3b560 4 abc 5 abcde 6 ADREasx 7 123 45 8 adc de 9 adc,.de 10 1B 10 abcbvbnb 已选择9行。 tbs@TICKET> -- 查询value中不包含任何数字的记录。 tbs@TICKET> select * from fzq where regexp_like(value,'^[^[:digit:]]+$'); ID VALUE ---- ---------- 4 abc 5 abcde 6 ADREasx 8 adc de 9 adc,.de 10 abcbvbnb 已选择6行。 tbs@TICKET> --查询以12或者1b开头的记录.不区分大小写。 tbs@TICKET> select * from fzq where regexp_like(value,'^1[2b]','i'); ID VALUE ---- ---------- 1 1234560 2 1234560 3 1b3b560 7 123 45 10 1B tbs@TICKET> --查询以12或者1b开头的记录.区分大小写。 tbs@TICKET> select * from fzq where regexp_like(value,'^1[2B]'); ID VALUE ---- ---------- 1 1234560 2 1234560 7 123 45 10 1B tbs@TICKET> -- 查询数据中包含空白的记录。 tbs@TICKET> select * from fzq where regexp_like(value,'[[:space:]]'); ID VALUE ---- ---------- 7 123 45 8 adc de tbs@TICKET> --查询所有包含小写字母或者数字的记录。 tbs@TICKET> select * from fzq where regexp_like(value,'^([a-z]+|[0-9]+)$'); ID VALUE ---- ---------- 1 1234560 2 1234560 4 abc 5 abcde 10 abcbvbnb 11 11114560 11 11124560 已选择7行。 tbs@TICKET> --查询任何包含标点符号的记录。 tbs@TICKET> select * from fzq where regexp_like(value,'[[:punct:]]'); ID VALUE ---- ---------- 9 adc,.de tbs@TICKET> tbs@TICKET> select * from dual where regexp_like('b', '^[abc]$'); D - X tbs@TICKET> tbs@TICKET> select * from dual where regexp_like('abc', '^[abc]$'); 未选定行 tbs@TICKET> tbs@TICKET> select * from dual where regexp_like('abc', '^a[abc]c$'); D - X tbs@TICKET> tbs@TICKET> spool off;
发表评论
-
各种数据库分页Dialect的方法
2011-12-02 09:01 2017以下分页技术均来自hibernate-core-3.3.1.G ... -
Oracle控制文件管理
2011-10-18 17:00 2087每一个Oracle数据库都有一个二进制文件记录着数据库的物理结 ... -
Oracle 问题诊断工具ADRCI(ADRCI: ADR Command Interpreter)
2011-10-29 09:23 2097ADRCI is a command-line tool th ... -
Oracle 10g SQL Fundamentals II(学习笔记二第7-8章)
2011-10-17 16:27 1874第七章分层检索 语法: SELECT [LE ... -
Oracle 10g SQL Fundamentals II(学习笔记二第5-6章)
2011-10-17 16:26 1461第五章不同时区管理数据 TIME_ZONE 会话参数 ... -
Oracle 10g SQL Fundamentals II(学习笔记二第3-4章)
2011-10-17 16:25 1678第三章 大数据集合 从一个表中拷贝数据 ... -
Oracle 10g SQL Fundamentals II(学习笔记二第1-2章)
2011-10-17 16:23 1913第一章用户访问 创建用户 create user us ... -
Oracle 10g SQL Fundamentals I(学习笔记二第10-11章)
2011-10-16 11:19 1610第十章创建其他对象(视图,索引,序列,同义词) 视图的优点 ... -
Oracle 10g SQL Fundamentals I(学习笔记二第7-8章)
2011-10-16 11:17 1149第七章使用各种操作Union/UNION ALL/MINUS/ ... -
ORACLE CTAS(create table as select)使用注意点
2011-10-09 11:28 6384ORACLE CTAS(create table as sel ... -
Oracle的小应用
2011-10-08 16:38 911今天同事打电话让我把数据库中的一个用户下所有表的注释导出 ... -
Oracle 10g SQL Fundamentals I(学习笔记二第4-6章)
2011-10-08 16:28 1542第四节: 分组函数: select [column, ... -
Oracle 10g SQL Fundamentals I(学习笔记第1-3章)
2011-10-08 16:25 1712第一章和第二章 distinct like 'S%' ... -
Oracle监控语句
2011-09-21 22:40 8511.监控事例的等待 select event,sum(de ... -
Oracle Rman 命令详解(List report backup configure)
2011-09-21 22:37 1538一、list常用命令总结备忘 list命令列出控制文件、 ... -
Oracle RMAN相关验证备份
2011-09-20 23:19 2202一.备份db并查看备份 list backup summ ... -
Oracle 的 Alert 日志
2011-09-20 23:18 2910从 Oracle 11g 开始,Oracle 数据库以XML与 ... -
Oracle 几个常用命令
2011-09-19 19:35 1292OEMC启动dbconsole进程1. emctl star ... -
Oracle中登录文件Login的定制
2011-09-14 10:55 1835在window系统针对Oracle登录调试设置登录 ... -
ORACLE使用dbv工具检验数据文件是否有坏块
2011-09-13 22:31 2756使用dbv工具检验数据文件是否有坏块 dbv工具可以用来验 ...
相关推荐
在Oracle 10g数据库系统中,正则表达式的引入为数据检索提供了更为灵活和强大...此外,结合其他正则表达式相关的函数,如`REGEXP_INSTR`, `REGEXP_SUBSTR`, 和`REGEXP_REPLACE`,可以实现更复杂的数据清洗和转换任务。
本文将详细介绍Oracle数据库中支持的四个主要正则表达式函数:`REGEXP_LIKE`、`REGEXP_INSTR`、`REGEXP_SUBSTR`和`REGEXP_REPLACE`,以及如何使用POSIX正则表达式。 #### 二、Oracle正则表达式基础 ##### 1. POSIX...
ORACLE 正则表达式的使用(REGEXP_LIKE REGEXP_INSTR REGEXP_SUBSTR REGEXP_REPLACE)
Oracle 10g 引入了一系列新的函数来支持正则表达式的使用,包括 `REGEXP_LIKE`、`REGEXP_INSTR`、`REGEXP_SUBSTR` 和 `REGEXP_REPLACE`。这些函数的使用方式类似于传统的 SQL 函数 `LIKE`、`INSTR`、`SUBSTR` 和 `...
3. `REGEXP_LIKE`:类似SQL的LIKE,但支持正则表达式的匹配。 4. `REGEXP_REPLACE`:使用正则表达式替换字符串中的一部分。 5. `REGEXP_COUNT`:计算字符串中符合正则表达式的子串数量。 例如,如果你想找出所有以...
1. REGEXP_LIKE:这是Oracle中最常用的正则表达式函数,它用于在WHERE子句中进行模式匹配。语法结构为`REGEXP_LIKE(column, pattern, [match_parameter])`。其中,`column`是你要检查的列,`pattern`是正则表达式...
Oracle 正则表达式参考手册 regexp_instr regexp_substr regexp_repalce regexp_like
* REGEXP_LIKE:用于检查输入字符串是否匹配指定的正则表达式。 * REGEXP_REPLACE:用于将输入字符串中满足正则表达式的部分替换为指定的字符串。 * REGEXP_INSTR:用于返回输入字符串中满足正则表达式的第一个字符...
同时,正则表达式也可以与其他 Oracle 函数结合使用,例如 substr()、replace()、instr() 等,来实现更加复杂的数据处理任务。 正则表达式是 Oracle 数据库中的一种强大的工具,可以帮助用户快速、高效地处理数据。
4. **REGEXP_REPLACE**: 类似REPLACE函数,不过使用正则表达式替换匹配的部分。`REGEXP_REPLACE(string, pattern, replacement)`会将`string`中所有匹配`pattern`的部分替换为`replacement`。 POSIX正则表达式包括...
在Oracle 10g版本中,正则表达式得到了进一步的支持,引入了新的SQL操作符REGEXP_LIKE以及与之相关的函数REGEXP_INSTR、REGEXP_SUBSTR和REGEXP_REPLACE。 1. 正则表达式的基本概念: 正则表达式由字符字面量和元...
/*ORACLE中的支持正则表达式的函数主要有下面四个:1,REGEXP_LIKE :与LIKE的功能相似2,REGEXP_INSTR :与INSTR的功能相似3,REGEXP_SUBSTR :与SUBSTR的功能相似4,REGEXP_REPLACE :与REPLACE的功能相似它们在...
Oracle支持四种与正则表达式相关的函数:REGEXP_LIKE、REGEXP_INSTR、REGEXP_SUBSTR和REGEXP_REPLACE。 1. REGEXP_LIKE:此函数用于执行基于正则表达式的模糊匹配。与传统的LIKE操作符不同,它能处理更复杂的匹配...
`REGEXP_LIKE()` 是Oracle中使用正则表达式进行模式匹配的主要函数。它的基本语法是: ``` REGEXP_LIKE(column, pattern, [match_parameter]) ``` 其中,`column` 是要检查的列,`pattern` 是正则表达式模式,`...
在Oracle 10g及更高版本中,有四个主要的正则表达式相关函数,分别是`regexp_like`、`regexp_substr`、`regexp_instr`和`regexp_replace`。 1. `regexp_like`函数: - 该函数类似于标准的`like`操作,但支持正则...