Oracle正则表达式用于排除带有模式的值

时间:2015-01-22 22:50:28

标签: regex oracle

我需要一个正则表达式来排除特定模式的值。

REGEXP_LIKE( name,'[0-9].rm')  # this returns values like 123rm, 456rm etc.

我需要用上述格式排除值。

我尝试了以下两种方法,但它没有返回任何内容。

REGEXP_LIKE( name,'^[[0-9].rm]') 
REGEXP_LIKE( name,'^([0-9].rm)') 

请帮忙! 提前致谢

2 个答案:

答案 0 :(得分:1)

由于您希望否定正则表达式,因此应在查询条件中使用NOT

select ...
  from ...
 where ...
   NOT REGEXP_LIKE( name,'[0-9].rm')

答案 1 :(得分:0)

你试过了吗?

SELECT * FROM table WHERE NOT REGEXP_LIKE(name, '[0-9].rm', 'c');