首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

oracle正则表达式,该如何解决

2013-01-07 
oracle正则表达式请问在oracle11g的正则表达式中,匹配一个不含的字符串,regexp_like(dfdfdfdffdf,[^

oracle正则表达式
请问在oracle11g的正则表达式中,匹配一个不含<>的字符串,
regexp_like('dfdfdfdf<fdf','[^<>]*')
怎么返回的是TRUE啊?
大虾指导一下,该怎么定义这个正则表达式啊?
[解决办法]


--这样写
select * from dual where not regexp_like('dfdfdfdf<fdf','[<>]+');
--至于你的为什么为true,因它匹配的是非<>的字符,执行下面的你就看出来了
select regexp_substr('dfdfdfdf<fdf','[^<>]*') from dual;

[解决办法]
1楼正确,
补充一点,如果要写成不用not的形式,要这么写

select * from dual where  regexp_like('dfdfdfdf<fdf','^[^<>]*$');


开始到结束都不是<>字符。

热点排行
Bad Request.