网管联盟 | 网管论坛 | 网管u家 | 网管博客 | 网管软件 | 网管求职 | 小游戏 | 网管搜索 | 网管原创 | 网管聚合 | 网管读摘 | 网管焦点 | 世界素材 | 会员投稿 | 会员中心 
中国网管联盟
Windows Linux Cisco 网络技术 数据库 黑客攻防 DotNet Java PHP 认证 新闻资讯 服务器 存储资讯 网络设备 网管学堂 技术专题 焦点 网吧频道
 当前位置: > bitsCN.com > 数据库技术 > Oracle > 体系架构 > Oracle 10gR2中用正则表达式搜索文本  

Oracle 10gR2中用正则表达式搜索文本

2006-10-18  作者:网管整理  来源:bitsCN.com  点评 投稿 收藏

   Oracle 10g Release 1为了与文本字符串中的模式相匹配,添加了对POSIX正则表达式的支持。Release 2用一些附加的可以在Perl找到的元字符,扩充了最初的模式元字符目录。如果你正在用Oracle 10gR2开发脚本,那么就看看本文里这些搜索文本的有效捷径。

  首先,简短概述一下:函数REGEXP_LIKE针对一种模式搜索一个字符列,返回一个TRUE或FALSE的逻辑值。你可以在SQL SELECT语句的WHERE子句中用它来限定行数,或者在PL/SQL块中检查数据的有效性。相似的函数——REGEXP_REPLACE、REGEXP_SUBSTR和REGEXP_INSTR——都能够在执行其他常见的字符串操作时,接受POSIX正则表达式。 网管bitscn_com

  Perl为POSIX“类”表达式添加了一些简短的模式。例如,在标准的POSIX正则表达式中,你用符号‘[[:digit:]]’来表示一个从0到9的阿拉伯数字。在Perl中,它被简化成‘\d’。大括号表示一次重复计数,因此,‘\d{3}’规定了三个阿拉伯数字。要表示你想要一个除阿拉伯数字之外的字符,POSIX模式是‘[^[:digit:]]’。但是在Perl中,它只表示为‘\D’。 中国网管联盟bitsCN.com

  类似的捷径对于空白也存在:‘\s’与‘[[:space:]]’相对应,非空白:‘\S’对应‘[^[:space:]]’。列表A中显示了一个取自人力资源方案的例子。

列表A:

SQL> SELECT last_name2FROM employees3WHERE REGEXP_LIKE(last_name, '[[:space:]]'); 网管朋友网www_bitscn_net

 

网管网www_bitscn_com

LAST_NAME 网管网www.bitscn.com

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

网管网www_bitscn_com

De Haan

网管有家bitscn.net

  网管论坛bbs_bitsCN_com

SQL> SELECT last_name2FROM employees3WHERE REGEXP_LIKE (last_name, '\s');

网管下载dl.bitscn.com

 

网管u家u.bitsCN.com

LAST_NAME 网管u家bitscn.net

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

网管联盟bitsCN_com

De Haan

网管联盟bitsCN@com

 

网管下载dl.bitscn.com

SQL> SELECT last_name2FROM employees3WHERE REGEXP_LIKE (last_name, '\S')4AND ROWNUM < 11;

网管u家u.bitsCN.com

 

网管有家bitscn.net

LAST_NAME 中国网管论坛bbs.bitsCN.com

------------------------- 网管网www.bitscn.com

AbelAnde 中国网管联盟bitsCN.com

Atkinson

网管u家www.bitscn.net

Austin 中国网管论坛bbs.bitsCN.com

BaerBaida

网管bitscn_com

Banda

网管u家u.bitsCN.com

Bates

网管有家bitscn.net

Bell

网管u家bitscn.net

Bernstein 网管u家u.bitscn@com

  网管网www_bitscn_com

10 rows selected.

网管联盟bitsCN_com

网管u家bitscn.net

TAGs   搜索   文本   SQL   匹配   SELECT   POSIX   Perl   testtab      
 上一篇:SQL 2005中的SSIS与Oracle数据库的迁移性能   下一篇:注意:Oracle中的联合主键查询问题
Oracle 10gR2中用正则表达式搜索文本 评论:
loading.. 评论加载中…
评论:请自觉遵守互联网相关政策法规,评论不得超过250字。

验证码: 注册用户
本类热门排行:
最新推荐文章:
网管论坛交流: