Привет! Я раньше сталкивался с подобными ситуациями, и могу посоветовать как разобраться с задачей на выбор файлов по маскам.Для начала, давай разберёмся с каждой из предложенных масок.Маска 1⁚ *mer?*.d*
В данной маске есть два символа подстановки⁚
* ⎼ заменяет любое количество символов (включая ноль).? ー заменяет ровно один символ.Таким образом, данная маска означает⁚
— любое количество символов перед ″mer″;
— затем ″mer″;
— затем один любой символ;
— затем любое количество символов перед ″.d″.
Маска 2⁚ *mer*?.doc*
В этой маске также присутствуют символы подстановки⁚
* ⎼ заменяет любое количество символов (включая ноль).? ー заменяет ровно один символ.Такая маска будет означать⁚
— любое количество символов перед ″mer″;
— затем ″mer″;
— затем один любой символ;
— затем ″.doc″;
— затем любое количество символов (включая ноль).
Маска 3⁚ ?*mer?*.doc
В этом варианте используется символ подстановки ? только на первой позиции.Таким образом, эта маска будет означать⁚
— любой один символ;
— затем любое количество символов перед ″mer″;
— затем ″mer″;
— затем любой символ;
— затем любое количество символов;
— затем ″.doc″.
Маска 4⁚ *?mer*?.doc*
Здесь используются символы подстановки * и ? на разных позициях⁚
— любое количество символов;
— затем один любой символ;
— затем ″mer″;
— затем любой символ;
— затем один любой символ;
— затем ″.doc″;
— затем любое количество символов (включая ноль).
Теперь давайте попробуем применить каждую из масок к перечисленным в задаче файлам и посчитаем количество соответствий.Маска 1 (*mer?*.d*)⁚
— primera.dat ⎼ не соответствует (отличается расширением);
— primera.doc ⎼ не соответствует (отсутствует символ между ″mer″ и ″.doc″);
— merchant.doc ⎼ соответствует (три соответствующие подстроки ー mer, any символ, и d);
— k-mer.doc ー соответствует (три соответствующие подстроки);
— omerta.doc ー не соответствует (отсутствует символ между ″mer″ и ″.doc″);
— Tamerlan;docx ⎼ не соответствует (отличается расширением).
В итоге, данная маска подходит к двум файлам.Маска 2 (*mer*?.doc*)⁚
— primera.dat ⎼ не соответствует (отличается расширением);
— primera.doc ⎼ соответствует (четыре соответствующие подстроки ー mer, any символ, и ″.doc″);
— merchant.doc ー не соответствует (отсутствует символ между ″mer″ и ″.doc″);
— k-mer.doc ー соответствует (три соответствующие подстроки);
— omerta.doc ー соответствует (три соответствующие подстроки);
— Tamerlan.docx ⎼ не соответствует (отличается расширением).
Таким образом, данная маска тоже имеет три соответствия.Маска 3 (?*mer?*.doc)⁚
— primera.dat ⎼ не соответствует (отличается расширением);
— primera.doc ⎼ не соответствует (отсутствует символ перед ″mer″);
— merchant.doc ー соответствует (четыре соответствующие подстроки);
— k-mer.doc ⎼ не соответствует (отсутствует символ перед ″mer″);
— omerta.doc ー не соответствует (отсутствует символ перед ″mer″);
— Tamerlan.docx ー не соответствует (отличается расширением).
Таким образом, данная маска имеет всего одно соответствие.Маска 4 (*?mer*?;doc*)⁚
— primera.dat ⎼ не соответствует (отличается расширением);
— primera.doc ー не соответствует (отсутствует символ перед ″mer″);
— merchant.doc ⎼ не соответствует (отсутствует символ перед ″mer″);
— k-mer.doc ⎼ соответствует (три соответствующие подстроки);
— omerta.doc ー соответствует (три соответствующие подстроки);
— Tamerlan.docx ー не соответствует (отличается расширением).
Итак, эта маска также дает нам три соответствия.- Маски 1 ( *mer?*.d*) и 2 (*mer*?.doc*) оба дают три соответствия.- Маска 3 (?*mer?*.doc) имеет только одно соответствие.
— Маска 4 (*?mer*?.doc*) также даёт нам три соответствия.
Таким образом, задача на выбор ровно трех файлов будет решена с использованием масок 1, 2 и 4.
Если у вас остались дополнительные вопросы, буду рад помочь!