请问在oracle11g的正则表达式中,匹配一个不含<>的字符串,
regexp_like('dfdfdfdf<fdf','[^<>]*')
怎么返回的是TRUE啊?
大虾指导一下,该怎么定义这个正则表达式啊?
------解决方案--------------------
- SQL code
--这样写select * from dual where not regexp_like('dfdfdfdf<fdf','[<>]+');--至于你的为什么为true,因它匹配的是非<>的字符,执行下面的你就看出来了select regexp_substr('dfdfdfdf<fdf','[^<>]*') from dual;
------解决方案--------------------
1楼正确,
补充一点,如果要写成不用not的形式,要这么写
- SQL code
select * from dual where regexp_like('dfdfdfdf<fdf','^[^<>]*$');