← Все вопросы
Поиск файлов по маске на ОГЭ: что значат * и ? и как понять, какие имена подходят?
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
? — один любой, * — любые.
Ваш ответ
Войдите, чтобы ответить на вопрос.