我发现这\Q\E
在 oracle 中不起作用。for oracle regex
的等效表达式是什么?\Q\E
问问题
3539 次
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 回答