【发布时间】:2016-11-07 11:32:49
【问题描述】:
我想用 PL/SQL 将分号分隔的字符串分成几个部分。只要字符串中没有圆括号,它就可以与 REGEXP_SUBSTR 一起正常工作。
例子:
select REGEXP_SUBSTR('A;B;C','[^(";")]+',1,1),
REGEXP_SUBSTR('A;B;C','[^(";")]+',1,2),
REGEXP_SUBSTR('A;B;C','[^(";")]+',1,3)
from dual;
结果如预期:A B C
A;B(1);C 的结果应该是 A B(1) C 但我得到的是:A B 1
select REGEXP_SUBSTR('A;B(1);C','[^(";")]+',1,1),
REGEXP_SUBSTR('A;B(1);C','[^(";")]+',1,2),
REGEXP_SUBSTR('A;B(1);C','[^(";")]+',1,3)
from dual;
这意味着'('被检测为分隔符,但我不明白这种行为。有人可以请教我吗?
【问题讨论】:
标签: regex oracle plsql regexp-substr