Вы можете использовать
REGEXP_SUBSTR('>AAA>BBB>CCC>DDD', '([^>]+)>[^>]+$', 1, 1, NULL, 1)
Регулярное выражение ([^>]+)>[^>]+$
будет сопоставлять и фиксировать в Группе 1 любые 1+ символов, отличных от >
, затем будет совпадать с >
, а затем с любыми 1+ символами, другимичем >
до конца строки.
Последний аргумент 1
указывает REGEXP_SUBSTR
вернуть только захваченную подстроку.
См. онлайн-демонстрация .
Другой подход - заменить всю строку, но оставить захваченную часть по вашему выбору:
REGEXP_REPLACE( '>AAA>BBB>CCC>DDD', '.*>([^>]+)>[^>]+$', '\1')
Посмотреть другую онлайн-демонстрацию .
Здесь .*>
будет соответствовать всей строке до >
, затем ([^>]+)
будет захватывать любые 1+ символов, отличных от >
, а затем >[^>]+$
будет совпадать и потреблять >
и 1+ символов кроме >
в конце строки.