没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论

















Oracle Database 10g 中的正则表达式特性是一个用于处理文本数据的强大工具
的一个新特性大大提高了您搜索和处理字符数据的能力。这
个特性就是正则表达式,是一种用来描述文本模式的表示方法。很久以来它已在许多编程
语言和大量 实用工具中出现过了。
的正则表达式的实施是以各种 函数和一个 子句操作符的形式出现的。
如果您不熟悉正则表达式,那么这篇文章可以让您了解一下这种新的极其强大然而表面上
有点神秘的功能。已经对正则表达式很熟悉的读者可以了解如何在 语言的环
境中应用这种功能。
什么是正则表达式?
正则表达式由一个或多个字符型文字和或元字符组成。在最简单的格式下,正则表达
式仅由字符文字组成,如正则表达式 。它被读作字母 ,接着是字母 和 ,这种模
式匹配 、和 之类的字符串。元字符提供算法来确定 如何处
理组成一个正则表达式的字符。当您了解了各种元字符的含义时,您将体会到正则表达式
用于查找和替换特定的文本数据是非常强大的。
验证数据、识别重复关键字的出现、检测不必要的空格,或分析字符串只是正则表达
式的许多应用中的一部分。您可以用它们来验证电话号码、邮政编码、电子邮件地址、社
会安全号码、地址、文件名和路径名等的格式。此外,您可以查找如 标记、数
字、日期之类的模式,或任意文本数据中符合任意模式的任何事物,并用其它的模式来替
换它们。
用 Oracle Database 10g 使用正则表达式
您可以使用最新引进的 !"#操作符和
!"、!"$以及 !"%&函数来发挥正则表达式
的作用。您将体会到这个新的功能如何对 #操作符和 、$和 %&
函数进行了补充。实际上,它们类似于已有的操作符,但现在增加了强大的模式匹配功能。
被搜索的数据可以是简单的字符串或是存储在数据库字符列中的大量文本。正则表达式让
您能够以一种您以前从未想过的方式来搜索、替换和验证数据,并提供高度的灵活性。

正则表达式的基本例子
在使用这个新功能之前,您需要了解一些元字符的含义。句号 '()匹配一个正则表达
式中的任意字符(除了换行符)。例如,正则表达式 (匹配的字符串中首先包含字母
,接着是其它任意单个字符(除了换行符),再接着是字母 。字符串 *、*+*和
都与之匹配,因为在字符串中隐藏了这种模式。如果您想要精确地匹配以 开头和
以 结尾的一条三个字母的字符串,则您必须对正则表达式进行定位。脱字符号 ',)元字
符指示一行的开始,而美元符号 '-)指示一行的结尾(参见表 :附表见第 . 页)。因此,
正则表达式 ,(-匹配字符串 、或 *。将这种方式与 #操作符提供的类
似的模式匹配 "相比较,其中 '")是单字符通配符。
默认情况下,一个正则表达式中的一个单独的字符或字符列表只匹配一次。为了指示
在一个正则表达式中多次出现的一个字符,您可以使用一个量词,它也被称为重复操作
符。(如果您想要得到从字母 开始并以字母 结束的匹配模式,则您的正则表达式看起
来像这样:,(/-。/元字符重复前面的元字符 '()指示的匹配零次、一次或更多次。
#操作符的等价的模式是 0,其中用百分号 '0)来指示任意字符出现零次、一次或
多次。
表 1给出了重复操作符的完整列表。注意它包含了特殊的重复选项,它们实现了比现
有的 #通配符更大的灵活性。如果您用圆括号括住一个表达式,这将有效地创建一个
可以重复一定次数的子表达式。例如,正则表达式 ')/匹配
、、、+23等。
的正则表达式实施支持 (可移植操作系统接口)字符类,参见表 4中
列出的内容。这意味着您要查找的字符类型可以非常特别。假设您要编写一条仅查找非字
母字符的 #条件 — 作为结果的 子句可能不经意就会变得非常复杂。
字符类必须包含在一个由方括号 '56)指示的字符列表中。例如,正则表达式
5578766匹配一个小写字母字符,而 55787669:;匹配五个连续的小写字母字符。
除 字符类之外,您可以将单独的字符放在一个字符列表中。例如,正则表达
式 ,5<6=-匹配字符串 =和 <=。必须选择 或 <。
除脱字符 ',)和连字符 '>)之外,字符列表中的大多数元字符被认为是文字。正则表
达式看起来很复杂,这是因为一些元字符具有随上下文环境而定的多重含义。,就是这样
一种元字符。如果您用它作为一个字符列表的第一个字符,它代表一个字符列表的非。因

此,5,57<766查找包含了任意非数字字符的模式,而 ,557<766查找以数字开始的匹
配模式。连字符 '>)指示一个范围,正则表达式 5>?6匹配字母 到字母 ?之间的任意
字母。但如果它是一个字符行中的第一个字符(如在 5>=6中),则它就代表连字符。
之前的一个例子介绍了使用圆括号来创建一个子表达式;它们允许您通过输入更替元
字符来输入可更替的选项,这些元字符由竖线 '@)分开。
例如,正则表达式 '@@)允许字母 和 之间的三种可能的字符更替。匹配模式
包括如 、、和 A之类的字,但不包括 、?2或 2。作
为另一种选择,正则表达式 '@@)也可以表示为一个字符列表 56。表 .汇总了这
些元字符。虽然存在更多的元字符,但这个简明的概述足够用来理解这篇文章使用的正则
表达式。
REGEXP_LIKE 操作符
!"#操作符向您介绍在 数据库中使用时的正则表达式功能。表 :
列出了 !"#的语法。
下面的 查询的 子句显示了 !"#操作符,它在 B列中搜索
满足正则表达式 5,57<766的模式。它将检索 B&表中的那些 B列值包含了任
意非数字字符的行。
&C3D C3<!"#'C3EF5,57<766F)
B
>>>>>
14
14*+
G
*+
这个正则表达式的例子仅由元字符组成,更具体来讲是被冒号和方括号分隔的
字符类 <。第二组方括号(如 5,57<766中所示)包括了一个字符类列表。如前文所
述,需要这样做是因为您只可以将 字符类用于构建一个字符列表。
REGEXP_INSTR 函数
剩余13页未读,继续阅读
资源评论


ora-0600
- 粉丝: 99
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 三位厦门大学的学生面对小学期的python大作业他们将用什么样的作品水水而过
- QT6 画家 QPainter 的源代码带注释 1300 行 本类奠定了 QT 的绘图基础
- 基于 MySQL 与 Python 的选课大作业及校招填表辅助系统
- 网站建设方案(人才网).doc
- 新建文件夹福建省莆田市基于云计算的电子政务公共平台顶层设计【阶段成果】v1.5.doc
- 行业网站建设方案.doc
- 基于JSP的酒店客房管理系统.doc
- 武汉大学分析化学课件-第26章-分析仪器测量电路、信号处理及计算机应用基础.ppt
- 基于网络环境的集体备课研究课题研究报告.docx
- 网络营销SEO精简版.pptx
- 软件委托开发流程及相关规范(211215095509).pdf
- 数控铣床加工中心编程实例PPT培训课件.ppt
- 计算机网络基础(继续教育试题及答案).docx
- 网络会计对传统会计的影响及发展【会计实务操作教程】.pptx
- 行政事业单位会计信息化建设路径.doc
- 网络营销内涵.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈



安全验证
文档复制为VIP权益,开通VIP直接复制
