Ответ:

Знак `?` заменяет ровно один символ, а `*` — любую последовательность символов, в том числе пустую.

  1. filmi.i не подходит: часть имени до точки должна оканчиваться на `m`, а здесь она оканчивается на `i`.
  2. film.avi подходит: имя до точки соответствует `*fi*m`, а расширение `avi` — маске `?*i`.
  3. filmi.ip не подходит: часть имени до точки не оканчивается на `m`.
  4. film.inf не подходит: расширение `inf` не оканчивается на `i`.

Ответ: 2).