我正在尝试在 Oracle 存储过程中使用字符串作为分隔符来拆分字符串。我可以instr
轻松使用,但我正在尝试学习如何使用正则表达式来做到这一点,因为我知道它功能强大且高效。
在阅读了一些文章之后,我认为我可以这样做(预期结果是“ Hello
”):
select regexp_substr('Hello My Delimiter World', '( My Delimiter )+', 1, 1)
from dual
结果:
我的分隔符
和(预期结果是“ World
”):
select regexp_substr('Hello My Delimiter World', '( My Delimiter )+', 1, 2)
from dual
结果:
空值
此要求的正确 regex_substr 是什么?
编辑:我正在寻找类似下面的东西。在单遍中,它选择字符串中的子字符串:
例如 selectregexp_substr('Hello World', '[^ ]+', 1, 2) from dual
但此示例仅适用于单个字符。