Кажется, что Snowflake ведет себя по-разному при обработке (. *?) Части вашего регулярного выражения. В качестве обходного пути вы можете использовать [^>] * или \ w + вместо (. *?):
SELECT
replace(REGEXP_SUBSTR( 'test1 >> test2 >> test3','([^>]*)([[:space:]]>>[[:space:]]|$)', 1,1 ) , ' >> ','') as test;
SELECT
replace(REGEXP_SUBSTR( 'test1 >> test2 >> test3','\\w+([[:space:]]>>[[:space:]]|$)', 1,1) , ' >> ','') as test;
Они должны давать тот же результат ("test1") с Oracle REGEXP_SUBSTR .