Le problème avec votre requête est que si vous utilisez [^PLE]
il correspondrait à tous les caractères autres que P ou L ou E. Vous recherchez une occurrence de PLE consécutivement. Alors, utilisez
select REGEXP_SUBSTR(colname,'(.+)PLE',1,1,null,1)
from tablename
Cela renvoie la sous-chaîne jusqu'à la dernière occurrence de PLE dans la chaîne.
Si la chaîne contient plusieurs instances de PLE et que seule la sous-chaîne jusqu'à la première occurrence doit être extraite, utilisez
select REGEXP_SUBSTR(colname,'(.+?)PLE',1,1,null,1)
from tablename