これが常に英語の前にあるドイツ語のデータであると仮定すると、次のようになります。
select substring_index(substring_index(col, '[:de]', -1), '[:en]', 1)
そうでない場合は、さまざまな可能性をテストできます。
select (case when col like '%[:de]%[%:en]%'
then substring_index(substring_index(col, '[:de]', -1), '[:en]', 1)
when col like '%[:de]%[%:]%'
then substring_index(substring_index(col, '[:de]', -1), '[:]', 1)
else substring_index(col, '[:de]', -1)
end)