Это старая школа.Я люблю регулярные выражения и могу их понять, но попадаю в ужасные неприятности, когда пытаюсь их воспроизвести.Немного похоже на испанский (для меня).Так что это просто SQL INSTR / SUBSTR / REPLACE.Я не ожидаю никаких голосов ...
WITH test_data (raw_text)
AS
(SELECT '{ABCDE}{F1}' from dual UNION ALL
SELECT '{GHIJ}{K12}' from dual
)
SELECT
raw_text
,SUBSTR(raw_text,2,INSTR(raw_text,'}{')-2) first_string
,REPLACE(SUBSTR(raw_text,INSTR(raw_text,'}{')+2),'}') second_string
--these two from Tim's excellent answer
,regexp_substr(raw_text, '\{([^}]+)\}', 1,1,NULL,1)
,regexp_substr(raw_text, '\{([^}]+)\}', 1,2,NULL,1)
FROM
test_data
;
Демо