Используйте подвыражение (подходящая группа, заключенная в скобки), чтобы получить то, что вы хотите:
SELECT REGEXP_SUBSTR('<CC>3</CC><CN>ROSSI</CN><NO>MARIO</NO><IN>VIA DELLE MIMOSE 4</IN>',
'<CN>(.*?)</CN>', 1, 1, NULL, 1)
FROM DUAL;
Здесь мы говорим REGEXP_SUBSTR
, что мы хотим сопоставить строку, которая начинается с <CN>
, сопровождается подвыражением любого количества любых символов (.*)
и заканчивается, когда найдено </CN>
. Поскольку в регулярном выражении есть только одно подвыражение ((.*?)
), это подвыражение номер 1, на что указывает последний параметр, переданный REGEXP_SUBSTR
выше.
db <> fiddle здесь