Sql 想要一个正则表达式吗
我需要一个正则表达式来转换以下字符串:Sql 想要一个正则表达式吗,sql,oracle,Sql,Oracle,我需要一个正则表达式来转换以下字符串: ([Line Item].[Line Items].&[2268], [Line Item].[Line Items» Root].&[10141]) - ([Line Item].[Line Items].&[12640], [Line Item].[Line Items» Root].&[5500]) 进入 (2268) - (12640) 要求是在第一个表达式的“[]”内可以有多个运算符“-”和/或“
([Line Item].[Line Items].&[2268], [Line Item].[Line Items» Root].&[10141]) -
([Line Item].[Line Items].&[12640], [Line Item].[Line Items» Root].&[5500])
进入
(2268) - (12640)
要求是在第一个表达式的“[]”内可以有多个运算符“-”和/或“+”以及任何特殊字符(如“»”)
我的代码如下:
select regexp_replace('([Line Item].[Line Items].&[2268],
[Line Item].[Line Items» Root].&[10141]) - ([Line Item].[Line Items].&[12640],
[Line Item].[Line Items» Root].&[5500])', '(\[.*?\]\.)+&','')
from dual;
但我没有得到我所期望的。有人能帮我吗
regexp_replace(..., '\([^()]+\[(\d+)\][^()]+\)', '(\1)')