Я хочу, чтобы регулярное выражение преобразовывало следующую строку:
([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)')