select name from (
select 'film-Film-film' name from dual
union select 'Film-film' name from dual
union select 'Film-film-film-film' name from dual
)
where regexp_like (name, '.*film.*', 'i')
order by length(regexp_replace(name,'film',null,1,0,'i')) desc