Problem z zapytaniem polega na tym, że jeśli użyjesz [^PLE]
pasowałby do dowolnych znaków innych niż P, L lub E. Szukasz kolejno wystąpienia PLE. Użyj więc
select REGEXP_SUBSTR(colname,'(.+)PLE',1,1,null,1)
from tablename
Zwraca podciąg aż do ostatniego wystąpienia PLE w ciągu.
Jeśli ciąg zawiera wiele wystąpień PLE i należy wyodrębnić tylko podciąg do pierwszego wystąpienia, użyj
select REGEXP_SUBSTR(colname,'(.+?)PLE',1,1,null,1)
from tablename