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)')