置換部分を置換文字列のサブ部分にしたい regexp_replace があります。以下の例では、/2 は常に最初の部分、つまり MON を与える必要があります。
SELECT REGEXP_REPLACE('Test MON 234','^(.*? )(MON|FRI|SAT|SUN).*$', '\1\2') FROM dual;
==> Test MON
SELECT REGEXP_REPLACE('QA FRI 111','^(.*? )(MON|FRI|SAT|SUN).*$', '\1\2') FROM dual;
should give ==> QA MON