Da der reguläre Ausdruck von Oracle die übereinstimmende Position nach einer Übereinstimmung nach vorne verschiebt, müssen Sie den regulären Ausdruck leider doppelt ausführen
regexp_replace(regexp_replace(col1,'(^|,)(SL)(\W|$)','\1\3',1,0,'imn') ,'(^|,)(SL)(\W|$)','\1\3',1,0,'imn')