Oracle正则表达式:\ Q \ E不起作用

时间:2010-03-03 08:41:45

标签: regex oracle diacritics

我发现\Q\E在甲骨文中不起作用 oracle正则表达式的\Q\E的等价表达式是什么?

3 个答案:

答案 0 :(得分:5)

在Perl中,\Q启动自动转义特殊字符,\E停止此行为。因此,在\Q \E块内,点将被视为文字点而不是任何字符。

如果Oracle不支持此功能,那么只需转义该块中的任何特殊字符。

答案 1 :(得分:0)

这是一个老问题,但使用Java可以做到

Pattern.quote(yourString);

返回文字字符串。因此,字符串.将返回\Q.\E,这将被匹配者视为一个句点。

答案 2 :(得分:0)

这是旧的,但在Oracle Database 11g 11.2.0.1.0版中仍然存在问题,我在其他地方看不到它。所以,如果它有助于其他人,我的解决方案是:

  

从双重中选择虚拟   其中REGEXP_LIKE(dummy,REGEXP_REPLACE('X','([] \ ^。$ |()[* +?{},])','\\\ 1'))