Oracle中的正则表达式.ppt
《Oracle中的正则表达式.ppt》由会员分享,可在线阅读,更多相关《Oracle中的正则表达式.ppt(20页珍藏版)》请在三一办公上搜索。
1、第21章 Oracle中的正则表达式,在各种编程语言中,正则表达式都有着广泛的应用。Oracle 10g及以后的版本中也支持正则表达式,并提供了非常实用的函数。本章首先讲述正则表达式的基本知识,最后讲述Oracle中的正则表达式函数。本章的主要内容包括:正则表达式基础知识;Oracle中的正则表达式函数。,21.1 正则表达式简介,正则表达式,就是以某种模式来匹配一类字符串。一旦概括了某类字符串,那么正则表达式即可用于针对字符串的各种相关操作。例如,判断匹配性,进行字符串的重新组合等。正则表达式提供了字符串处理的快捷方式。,22.1.1 正则表达式与通配符,正则表达式是一个模式,正则表达式可以
2、看做一个模糊的字符串匹配;而通配符也可以看做模糊的字符串匹配。正则表达式与通配符虽有相似之处,但却有着本质的区别。正则表达式中不仅存在着代表模糊字符的特殊字符,而且存在着量词等修饰字符,使得模式的控制更加灵活和强大。另外,通配符的使用一般是在特定的环境下,例如Windows的查询功能等,在不同的环境下,通配符有可能不同。而正则表达式,不但广泛应用于各种编程语言,而且在各种编程语言中,保持了语法的高度一致性。,22.1.2 正则表达式与编程语言,在各种编程语言中,可以说,正则表达式是无处不在的。正则表达式在各种编程语言中高度统一,都遵循一致的语法。因此,一旦熟悉了一种编程语言中的正则表达式,那么
3、,可以直接应用于其他编程语言。编程语言同时也是正则表达式的载体,没有编程语言,正则表达式的作用将无从发印,21.2 正则表达式基础知识,正则表达式简单易学。本节将从以下几方面讲述正则表达式的基础知识。元字符和普通字符;量词;字符转义与字符类;字符组;正则表达式分支。,21.2.1 元字符和普通字符,编程语言与普通文本文件的区别在于,编程语言中定义了保留字。这些保留字,都被编译器当做特殊命令来处理。其余才被当做普通字符串进行处理。正则表达式的定义是以字符为基本单位的。这些字符也可以分为“保留字符”与普通字符两类,分别称为元字符和普通字符。元字符是指在正则表达式中表示特殊含义的字符。正则表达式中的
4、元字符包括“.”、“”、“?”、“*”、“+”、“|”、“”、“”、“”、“$”、“”、“”。例如,元字符中的“.”用于匹配任何单字符(换行符除外);“”可以与普通字符组合来表示特殊字符,也可与元字符组合使用来获得元字符的原义字符。元字符“”和“$”用于匹配输入字符串的开始和结束。默认情况下,这里的开始和结束是指整个字符串的开头和结尾。普通字符是指除元字符外的所有Unicode字符。普通字符匹配其本身。例如,字符“a”代表原义字符“a”。,21.2.2 量词,量词用来指定量词的前一个字符出现的次数。量词的形式主要有“?”、“*”、“+”、“”。元字符“?”作为量词出现,用来匹配0个或1个字符。
5、例如A?,表示0个或1个字符“A”。元字符“*”作为量词出现,用来匹配0个或多个字符。例如A*,表示0个或多个字符“A”。元字符“”和“”同时出现,用来匹配指定个数的字符,其形式有三种情况:A3表示匹配三个字符“A”;A3,表示匹配三个或更多个字符“A”;A3,5表示匹配3到5个字符“A”。量词在用于匹配字符串时,默认遵循贪婪原则。贪婪原则是指,尽可能多地匹配字符。例如字符串“Function(p),(OK)”,如果使用正则表达式“(.*)”进行匹配,则得到字符串“(p),(OK)”,而非“(p)”;若欲得到“(p)”,则必须取消量词的贪婪原则,此时只需要为量词后追加另外一个数量词“?”即可。
6、如上面的正则表达式应该改为“(.*?)”。,21.2.3 字符转义与字符类,字符转义是指通过元字符“”与其他字符进行组合。这里的“其他字符”包括了元字符和普通字符。元字符在正则表达式中有特殊含义。如果需要使用其原义,则需要用到字符转义。字符转义使用字符“”来实现。其语法模式为:“”+元字符。例如,“.”表示普通字符“.”;“.doc”匹配字符串“.doc”;而普通字符“”需要使用“”来表示。,21.2.4 字符组的使用,字符组是指将模式中的某些部分作为一个整体。这样,量词可以来修饰字符组,从而提高正则表达式的灵活性。例如,使用元字符和普通字符的组合,很难针对字符串“abc123abc123ab
7、c123”来归纳正则表达式。此时可以利用字符组来实现,相应的正则表达式可以表示为“(abc123)+”,表示连续的多个“abc123”组合。字符组的另一个重要作用在于,许多编程语言中,可以利用“$1”、“$2”等来获取第一个、第二个字符组,即所谓的后向引用。在Oracle中,引用格式为“1”、“2”。,21.2.5 正则表达式分支,可以利用“|”来创建多个正则表达式分支。例如,“d4|w4”可以看做两个正则表达式“d4”和“w4”,匹配其中任何一个正则表达式的字符串都被认为匹配整个正则表达式。如果该字符串两个正则表达式分支都匹配,那么将被处理为匹配第一个正则表达式分支。,21.2.6 Orac
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Oracle 中的 正则 表达式
链接地址:https://www.31ppt.com/p-6513424.html