博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[每日一题] OCP1z0-047 :2013-08-22 正则表达式---[^Ale|ax.r$]'
阅读量:4344 次
发布时间:2019-06-07

本文共 1925 字,大约阅读时间需要 6 分钟。

 

正确答案: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---------AlexenderAlexendar

 

二、分析:

 '^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

 

 

 

转载于:https://www.cnblogs.com/pangblog/p/3278191.html

你可能感兴趣的文章
使用对象属性
查看>>
PWM输出,呼吸灯
查看>>
QTcpSocket发送结构体
查看>>
redmine install 菜鸟的艰难历程
查看>>
总结2:指出代码中的错误
查看>>
[唐胡璐]Selenium技巧- 抓图并保存到TestNG报告中
查看>>
P1352 没有上司的舞会
查看>>
图像特征提取:Sobel边缘检测
查看>>
java面试题及答案
查看>>
通过 SysVinit、Systemd 和 Upstart 管理系统自启动进程和服务
查看>>
学习进度条
查看>>
搞懂 SynchronizationContext(第一部分)【翻译】
查看>>
常用的nginx rewrite重写规则
查看>>
[转]PHP正则表达式
查看>>
mybatis 嵌套查询与懒加载
查看>>
Vm workstation安装win8 的问题
查看>>
one list to muti list
查看>>
Regular Expression Patterns
查看>>
在 Linux 下使用 水星MW150cus (RTL8188CUS芯片)无线网卡
查看>>
JavaScript中的方法重载
查看>>