oracle正则表达式,不包含某个字符串?

需要在oracle中用正则表达式筛选出符合下述规则的编号:开头是a,结尾是0,中间任意位置不能出现cell这个单词

with a as (

select 'akcellp0' ss from dual

union all

select 'alcxlle0' from dual

union all

select 'akellr0' from dual

union all

select 'ackellb0' from dual

)select * From a

where not regexp_like(ss, '^a.*cell.*0$') 。

但是受到系统框架的限制,不能使用not,必须在regexp_like中用一个正则表达式筛选数据。应该怎么写?

2个回答

你试试这个:
^a((?!cell).)*0$

u012112909
董松建 不行呢,oracle的正则表达式和标准的正则好像不完全一样。?!这种表达式在oracle中不认呢。
接近 2 年之前 回复

不行呢,oracle的正则表达式和标准的正则好像不完全一样。?!这种表达式在oracle中不认呢。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐