Вам нужен только один вызов REGEXP_SUBSTR.Этот пример разбирает весь путь на его части.Для ответа ОП вам нужен только второй вызов REGEXP_SUBSTR.
РЕДАКТИРОВАТЬ: обновлено, теперь обрабатывает имена файлов с несколькими точками в них и имена файлов, начинающиеся с точки.
WITH tbl(ID, fullpath) AS (
SELECT 1, 'c:\path\to\example.xls' FROM DUAL UNION ALL
SELECT 2, 'c:\path\to\example.1.2.xls' FROM DUAL UNION ALL
SELECT 3, 'c:\path\to\example' FROM DUAL UNION ALL
SELECT 4, 'example.xls' FROM DUAL UNION ALL
SELECT 5, 'example.1.2.xls' FROM DUAL UNION ALL
SELECT 6, 'example' FROM DUAL UNION ALL
SELECT 7, NULL FROM DUAL
)
SELECT ID, fullpath,
REGEXP_SUBSTR(fullpath, '^(.*\\)?(.+?)(\.[^.]*$|$)', 1, 1, null, 1) path,
REGEXP_SUBSTR(fullpath, '^(.*\\)?(.+?)(\.[^.]*$|$)', 1, 1, NULL, 2) filename,
REGEXP_SUBSTR(fullpath, '^(.*\\)?(.+?)(\.[^.]*$|$)', 1, 1, null, 3) extension
FROM tbl
order by ID;
ID FULLPATH PATH FILENAME EXTEN
--- -------------------------- ------------ ------------ -----
1 c:\path\to\example.xls c:\path\to\ example .xls
2 c:\path\to\example.1.2.xls c:\path\to\ example.1.2 .xls
3 c:\path\to\example c:\path\to\ example
4 example.xls example .xls
5 example.1.2.xls example.1.2 .xls
6 example example
7
7 rows selected.