One option might be this (see comments within code):
SQL> with test (col) as
  2    (select '{ABCDE,12345}{47,CE}' from dual),
  3  temp as
  4    -- remove leading and trailing brackets
  5    -- replace "middle" brackets with semi-colon (a new separator)
  6    (select replace(substr(col, 2, length(col) - 2), '}{', ';') val
  7     from test
  8    )
  9  select regexp_substr(val, '[^;]+', 1, level) result
 10  from temp
 11  connect by level <= regexp_count(val, ';') + 1;
RESULT
--------------------------------------------------------------------
ABCDE,12345
47,CE
SQL>
Ah, yes - separate columns: then, substr might help:
SQL> with test (col) as
  2    (select '{ABCDE,12345}{47,CE}' from dual)
  3  select substr(col, 2, instr(col, '}{') - 2) val1,
  4         substr(substr(col, instr(col, '}{') + 2),
  5                1,
  6                length(substr(col, instr(col, '}{') + 2)) - 1
  7               ) val2
  8  from test;
VAL1        VAL2
----------- -----
ABCDE,12345 47,CE
SQL>