我已经阅读了有关REGEXP_REPLACE
函数的Oracle文档,但它没有按预期工作
这是我得到的:
我的目标:为每组连续数字连接一个字符
我的意见
(1101 + 1102) * 1103 + 1104 + 1105
预期输出:
(T1101 + T1102) * T1103 + T1104 + T1105
代码:
SELECT
REGEXP_REPLACE('(1101 + 1102) * 1103 + 1104 + 1105',
'[0-9]+',
'T\1') "REZ"
FROM DUAL;
结果我有:
(T\1 + T\1) * T\1 + T\1 + T\1
我搜索了许多Stack溢出帖子,他们似乎都在使这个场景工作没有任何关于\ 1的问题
还尝试了不同的地方来测试代码:Tod for oracle,SqlPlus和另一个应用程序,它们都给了我相同的结果。
那么,有人请告诉我我的代码有什么问题吗?
注意:的
我不怀疑我的正则表达式有任何问题,之前在oracle的不同场景中进行了测试,并且它的工作正常。另外,找到了匹配项,但替换部分无效。
一些Stack-overflow帖子的引用:
参考Oracle文档: