Masalah dengan kueri Anda adalah jika Anda menggunakan [^PLE]
itu akan cocok dengan karakter apa pun selain P atau L atau E. Anda mencari kemunculan PLE secara berurutan. Jadi, gunakan
select REGEXP_SUBSTR(colname,'(.+)PLE',1,1,null,1)
from tablename
Ini mengembalikan substring hingga kemunculan terakhir PLE dalam string.
Jika string berisi beberapa instance PLE dan hanya substring hingga kemunculan pertama yang perlu diekstraksi, gunakan
select REGEXP_SUBSTR(colname,'(.+?)PLE',1,1,null,1)
from tablename