小编use*_*910的帖子

REGEXP_SUBSTR圆括号

我想用分号分隔的字符串分成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;
Run Code Online (Sandbox Code Playgroud)

预期的结果是:ABC

A; B(1); C的结果应该是AB(1)C,但我得到的是:AB 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;
Run Code Online (Sandbox Code Playgroud)

这意味着'('被检测为分隔符,但我不明白这种行为.有人可以开导我吗?

regex oracle plsql regexp-substr

1
推荐指数
1
解决办法
523
查看次数

标签 统计

oracle ×1

plsql ×1

regex ×1

regexp-substr ×1