[每日一题] OCP1z0-047 :2013-08-22 正则表达式---[^Ale|ax.r$]'
正确答案:DE
一、Oracle正则表达式的相关知识点
'[^Ale|ax.r$]':
^:匹配行的开始字符
$:匹配行的结束字符
[]:方括号表示指定一个匹配列表,该列表匹配列表中显示的任何表达式。
[^]:同上面相反,非匹配列表表达工。
.:匹配任意一个字符(除了NULL)
|:替换元字符;结束第一个选项并开始下一个替换表达式
[^Ale|ax.r$]'中^表示只匹配不在集合{'A','l','e','|','a','x','.','r','$'}中的字符, 此处的'|'、'.'、'$'只是表示普通的字符,而非匹配符。字符串: [Ale|ax.r$] 匹配Alex,Alax ,Alxer ,A,l,e,a.............
不包含 A l e a x r的串,等效于[^Aleaxr],只要在串里面找到符合条件的字符(哪怕就一个)就算匹配。
先来看一下答案:
gyj@MYDB> with gyj_test as (
2 select 'Alex' name from dual
3 union all
4 select 'Alax' name from dual
5 union all
6 select 'Alxer' name from dual
7 union all
8 select 'Alexender' name from dual
9 union all
10 select 'Alexendar' name from dual)
11 select * from gyj_test where regexp_like(name,'[^Ale|ax.r$]'); NAME
---------
Alexender
Alexendar
二、分析:
'^Ale|ax.r$'――表示匹配Ale或ax开头的字符串,.表示任一字符。
gyj@MYDB> create table gyj_test1 (id int,name varchar2(20)); Table created. gyj@MYDB> insert into gyj_test1 values(1,'Alex'); 1 row created. gyj@MYDB> insert into gyj_test1 values(2,'Alax'); 1 row created. gyj@MYDB> insert into gyj_test1 values(3,'Alxer'); 1 row created. gyj@MYDB> insert into gyj_test1 values(4,'Alexender'); 1 row created. gyj@MYDB> insert into gyj_test1 values(4,'Alexendar'); 1 row created. gyj@MYDB> commit; Commit complete.
gyj@MYDB> select * from gyj_test1 where regexp_like(name,'^Ale|ax.r$');
ID NAME
---------- --------------------
1 Alex
4 Alexender
4 Alexendar
三、以上的SQL语句等价于:
gyj@MYDB> select * from gyj_test1 where regexp_like(name,'^Ale')
2 union all
3 select * from gyj_test1 where regexp_like(name,'ax.r$'); ID NAME
---------- --------------------
1 Alex
4 Alexender
4 Alexendar
四、^出现在[]中表示否定,查询的结果集里含有不是中括号里的字母Aleaxr
gyj@MYDB> select * from gyj_test1 where regexp_like(name,'[^Ale|ax.r$]');
ID NAME
---------- --------------------
4 Alexender
4 Alexendar
[每日一题] OCP1z0-047 :2013-08-22 正则表达式---[^Ale|ax.r$]'的更多相关文章
- CISP/CISA 每日一题 22
CISSP 每日一题(答)What should be done to verify patcheshave been applied? Auditpatches, or use a vulnerab ...
- 老男孩IT教育-每日一题汇总
老男孩IT教育-每日一题汇总 第几天 第几周 日期 快速访问链接 第123天 第二十五周 2017年8月25日 出现Swap file….already exists以下错误如何解决? 第122天 2 ...
- PL/SQL Challenge 每日一题:2014-3-14 11gR2中带RELIES_ON子句的RESULT_CACHE函数
PL/SQL Challenge 每日一题:2014-3-14 11gR2中带RELIES_ON子句的RESULT_CACHE函数 最先答对且答案未经编辑的puber将获得纪念章一枚(答案不可编辑但可 ...
- 【剑指Offer】简单部分每日五题 - Day 1
今天开始更新leetcode上<剑指Offer>的题解,先从简单难度开始.预计按下列顺序更新: 简单难度:每日5题 中等难度:每日3题 困难难度:每日1题 17 - 打印从1到最大的n位数 ...
- 【JavaScript】【dp】Leetcode每日一题-解码方法
[JavaScript]Leetcode每日一题-解码方法 [题目描述] 一条包含字母 A-Z 的消息通过以下映射进行了 编码 : 'A' -> 1 'B' -> 2 ... 'Z' -& ...
- 【python】Leetcode每日一题-逆波兰表达式求值
[python]Leetcode每日一题-逆波兰表达式求值 [题目描述] 根据 逆波兰表示法,求表达式的值. 有效的算符包括 +.-.*./ .每个运算对象可以是整数,也可以是另一个逆波兰表达式. 说 ...
- 【Java每日一题】20170106
20170105问题解析请点击今日问题下方的"[Java每日一题]20170106"查看(问题解析在公众号首发,公众号ID:weknow619) package Jan2017; ...
- 【Java每日一题】20170105
20170104问题解析请点击今日问题下方的"[Java每日一题]20170105"查看(问题解析在公众号首发,公众号ID:weknow619) package Jan2017; ...
- 【Java每日一题】20170104
20170103问题解析请点击今日问题下方的"[Java每日一题]20170104"查看(问题解析在公众号首发,公众号ID:weknow619) package Jan2017; ...
随机推荐
- Viewing the Raw SQL Statement(xcode で)
Thanks to Core Data. Even without learning SQL and database, you’re able to perform create, select, ...
- js 中 setTimeout()的用法
setTimeout()在js类中的使用方法 setTimeout (表达式,延时时间)setTimeout(表达式,交互时间)延时时间/交互时间是以豪秒为单位的(1000ms=1s) setTi ...
- Android模拟器使用笔记,学习head_first python 安卓开发章节
学习head_first python 安卓开发那一章需要的程序android-sdk_r23.0.2-windows.zip //模拟器 PythonForAndroid_r4.apk sl4a_r ...
- SendMessage基本认识
SendMessage基本认识 函数功能:该函数将指定的消息发送到一个或多个窗口.此函数为指定的窗口调用窗口程序,直到窗口程序处理完消息再返回.而函数PostMessage不同,将一个消息寄送到一个线 ...
- 基于Java图片数据库Neo4j 3.0.0发布 全新的内部架构
基于Java图片数据库Neo4j 3.0.0发布 全新的内部架构 Neo4j 3.0.0 正式发布,这是 Neo4j 3.0 系列的第一个版本.此版本对内部架构进行了全新的设计;提供给开发者更强大的生 ...
- poj1799---解析几何
sin(a)=r/R-r,反三角asin(r/R-r),乘以2n=2pi,去化简,得到r 收获:define pi acos(-1) 这样pi的精度会高很多<math.h>(cos,sin ...
- ubuntu中如何关闭防火墙?
只需要输入 root@stgman-desktop:~# sudo ufw disable 防火墙在系统启动时自动禁用
- python 【第四篇】:面向对象(一)
1.前言 提笔忘字,感慨良多!python自习前前后后有一年多了吧,貌似花了不少时间,其实没学到啥东西,都是在面向对象编程之前基础知识这块一直打转转,每次到了面向对象这块就感觉很蒙,看两天直接放弃,从 ...
- JavaScript之Style属性学习
当CSS使用伪类开始侵入DOM和JavaSCript所控制着的行为层时,DOM和JavaScript也使用他们的一系列样式去控制表现层,这篇随笔主要说的就是利用JavaScript去控制元素的表现形式 ...
- Spring中注入List,Set,Map,Properties的xml文件配置方法
下面的例子展示了如何注入 List – <list/> Set – <set/> Map – <map/> Properties – <props/> ...