选择显示字体大小

使用正规表达式编写更好的 sql

oracle database 10g 的一个新特性大大提高了您搜索和处理字符数据的能力。这个特性就是正规表达式,是一种用来描述文本模式的表示方法。很久以来它已在许多编程语言和大量 unix 实用工具中出现过了。

oracle 的正规表达式的实施是以各种 sql 函数和一个 where 子句操作符的形式出现的。如果您不熟悉正规表达式,那么这篇文章可以让您了解一下这种新的极其强大然而表面上有点神秘的功能。已经对正规表达式很熟悉的读者可以了解如何在 oracle sql 语言的环境中应用这种功能。

什么是正规表达式?

正规表达式由一个或多个字符型文字和/或元字符组成。在最简单的格式下,正规表达式仅由字符文字组成,如正规表达式 cat。它被读作字母 c,接着是字母 at,这种模式匹配 cat、locationcatalog 之类的字符串。元字符提供算法来确定 oracle 如何处理组成一个正规表达式的字符。当您了解了各种元字符的含义时,您将体会到正规表达式用于查找和替换特定的文本数据是非常强大的。

验证数据、识别重复关键字的出现、检测不必要的空格,或分析字符串只是正规表达式的许多应用中的一部分。您可以用它们来验证电话号码、邮政编码、电子邮件地址、社会安全号码、ip 地址、文件名和路径名等的格式。此外,您可以查找如 html 标记、数字、日期之类的模式,或任意文本数据中符合任意模式的任何事物,并用其它的模式来替换它们。

oracle database 10g 使用正规表达式

您可以使用最新引进的 oracle sql regexp_like 操作符和 regexp_instr、regexp_substr 以及 regexp_replace 函数来发挥正规表达式的作用。您将体会到这个新的功能如何对 like 操作符和 instr、substrreplace 函数进行了补充。实际上,它们类似于已有的操作符,但现在增加了强大的模式匹配功能。被搜索的数据可以是简单的字符串或是存储在数据库字符列中的大量文本。正规表达式让您能够以一种您以前从未想过的方式来搜索、替换和验证数据,并提供高度的灵活性。

正规表达式的基本例子

在使用这个新功能之前,您需要了解一些元字符的含义。句号 (.) 匹配一个正规表达式中的任意字符(除了换行符)。例如,正规表达式 a.b 匹配的字符串中首先包含字母 a,接着是其它任意单个字符(除了换行符),再接着是字母 b。字符串 axb、xaybxabba 都与之匹配,因为在字符串中隐藏了这种模式。如果您想要精确地匹配以 a 开头和以 b 结尾的一条三个字母的字符串,则您必须对正规表达式进行定位。脱字符号 (^) 元字符指示一行的开始,而美元符号 ($) 指示一行的结尾(参见


 


关键字 本文所属关键字

相关 与本文相关文章

分类 所有文章关键字导航

源码编程相关

Java   Asp   PHP   .Net   XML   C/C++   CGI   VB   Jsp   J2ee   J2se   J2me   EJB   Servlet   Tomcat   Resin   Struts   Weblogic   Eclipse   ANT   GUI   JMS   Web servise   IDEA   Webphere   Hibernate   Spring   Jboss   Applet   Swing   Socket   Javamail   Perl   Ajax   P2P   安全   模式   框架   测试   开源   游戏

SQL数据库相关

My-SQL   Ms-SQL   Access   DB2   Oracle   Sybase   SQLserver   索引   存储过程   加密   数据库   分页   视图  

手机无线相关

3G   Wap   CDMA   GRPS   GSM   IVR   彩信   短信   无线   增值业务

网页设计制作相关

HTML   CSS   网页配色   网页特效   Javascript   VBscript   Dreamweaver   Frontpage   JS   Web   网站设计

网站建设推广相关

建站经验   网站优化   网站排名   推广   Alexa

操作系统/服务器相关

Windows XP   Windows 2000   Windows 2003   Windows Me   Windows 9.x   Linux   UNIX   注册表   操作系统   服务器   应用服务器

图形图像多媒体相关

Photoshop   Fireworks   Flash   Coreldraw   Illustrator   Freehand   Photoimpact   多媒体   图形图像

标准 网站致力的规范

Valid CSS!

无不良内容,无不良广告,无恶意代码

Valid XHTML 1.0 Transitional

creativecommons