Problemet med din forespørgsel er, at hvis du bruger [^PLE]
det ville matche alle andre tegn end P eller L eller E. Du leder efter en forekomst af PLE fortløbende. Så brug
select REGEXP_SUBSTR(colname,'(.+)PLE',1,1,null,1)
from tablename
Dette returnerer understrengen op til den sidste forekomst af PLE i strengen.
Hvis strengen indeholder flere forekomster af PLE, og kun understrengen op til den første forekomst skal udtrækkes, skal du bruge
select REGEXP_SUBSTR(colname,'(.+?)PLE',1,1,null,1)
from tablename