字符串中的数字规则替换有关问题

字符串中的数字规则替换问题
若要求对字符串‘某小区11栋2单元1101号’中的所有数字按照规则,即number+1,进行修改,结果是‘某小区12栋3单元1102号’。(1)能否用regexp_replace一次完成?
(2)regexp_replace中的找到的匹配字符串可否以某种方式引用然后编程?
请以此为例讲解,谢谢!
------解决思路----------------------
SQL> with T AS (SELECT '某小区11栋2单元1101号' STR FROM DUAL)
  2  SELECT LISTAGG(STR,'')WITHIN GROUP(ORDER BY N)
  3  FROM(
  4  SELECT 'Y' AS FLAG,
  5  REGEXP_INSTR(STR,'[0-9]+',1,ROWNUM) N,
  6  TO_CHAR(TO_NUMBER(REGEXP_SUBSTR(STR,'[0-9]+',1,ROWNUM))+1) STR
  7  FROM T CONNECT BY ROWNUM<=REGEXP_COUNT(STR,'[0-9]+')
  8  UNION ALL
  9  SELECT 'N' AS FLAG,
 10  REGEXP_INSTR(STR,'[^0-9]+',1,ROWNUM) N,
 11  REGEXP_SUBSTR(STR,'[^0-9]+',1,ROWNUM) STR
 12  FROM T CONNECT BY ROWNUM<=REGEXP_COUNT(STR,'[^0-9]+'));

LISTAGG(STR,'')WITHINGROUP(ORDERBYN)
--------------------------------------------------------------------------------
某小区12栋3单元1102号

SQL>