regex – Oracle – 确定正则表达式支持的最大大小

前端之家收集整理的这篇文章主要介绍了regex – Oracle – 确定正则表达式支持的最大大小前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个正则表达式抛出ORA-12733,“正则表达式太长”.如何确定支持的最大大小是多少?

仅供参考:违规正则表达式为892个字符.它是一个生成的正则表达式,所以我可以改变生成和执行它的方式,但我想知道在更改生成和执行方式之前,最大大小的限制是什么.

(运行Oracle 10.2g)

更新:

如果它取决于实际的正则表达式,这里是它的开头(其余的重复是同样的事情,在^和$之间有不同的值):

(^ R_1A $| ^ R_2A $| ^ R_3A $| ^ R_4A $| ^ R_4B $| ^ R_5A $| ^ R_5B $…

查看正则表达式函数的文档,REGEXP_SUBSTR,REGEXP_INSTR& REGEXP_REPLACE它对模式有以下引用:

pattern is the regular expression. It is usually a text
literal and can be of any of the
datatypes CHAR,VARCHAR2,NCHAR,or
NVARCHAR2. It can contain up to 512
bytes
. If the datatype of pattern is
different from the datatype of
source_char,Oracle Database converts
pattern to the datatype of
source_char. For a listing of the
operators you can specify in
pattern`**

取自here

猜你在找的Oracle相关文章