← Все вопросы

Поиск файлов по маске на ОГЭ: что значат * и ? и как понять, какие имена подходят?

Задан 9 месяцев назад568 просмотров3 ответа
12

В заданиях на маску постоянно сомневаюсь, какие файлы ей удовлетворяют. Например, маска ?ce*.t?x — какие имена под неё подойдут? Объясните по-человечески, чем * отличается от ?, и как такие задачи разбирать по символам.

3 ответа

18
✓ Принятый ответ — помог автору

Два специальных символа маски:

  • ? — ровно ОДИН любой символ (обязательно один, не ноль и не два);
  • * — любая последовательность символов, в том числе ПУСТАЯ (ноль и больше).

Разбираем ?ce*.t?x:

  • ? — один любой символ в начале;
  • ce — дальше обязательно идут буквы c, e;
  • * — что угодно (или ничего) до точки;
  • . — точка;
  • t — буква t;
  • ? — один любой символ;
  • x — буква x.

Подойдёт, например, ace.tax, 1ceabc.tix. Не подойдёт ce.tx (нет символа перед ce, т.к. ? требует ровно один) и ace.tx (после t должен быть ровно один символ, а потом x — здесь его нет).

Совет: проверяй имя слева направо, «прикладывая» маску по одному символу.

Аслан Меремуков Ключевое: ? — ровно один, * — может быть пустым. На этом ловят почти всех · 9 месяцев назад
Иван Белов Удобно сравнивать длину: ?ce*.t?x минимум 7 символов (если * пустая) · 9 месяцев назад
8

* — сколько угодно символов (можно ноль), ? — строго один символ. Дальше просто прикладываешь маску к имени посимвольно.

3

? — один любой, * — любые.

Ваш ответ

Войдите, чтобы ответить на вопрос.
Поддержать проект