1

我发现这\Q\E在 oracle 中不起作用。for oracle regex
的等效表达式是什么?\Q\E

4

3 回答 3

5

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

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

于 2010-03-03T08:50:54.143 回答
0

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

Pattern.quote(yourString);

它返回一个文字字符串。所以字符串.会返回\Q.\E,匹配器会认为它是一个句点。

于 2013-01-11T16:18:12.137 回答
0

这是旧问题,但在 Oracle 数据库 11g 版本 11.2.0.1.0 中仍然是一个问题,我没有看到其他地方解决了这个问题。因此,如果它对其他人有帮助,我的解决方案是:

从对偶中选择虚拟对象 REGEXP_LIKE(dummy,REGEXP_REPLACE('X','([]\^.$|()[*+?{},])','\\\1'))

于 2013-09-13T16:34:55.107 回答