Как проверить подходит ли слово под шаблон?
state machine, он же конечный автомат вполне может подойти.
Вам надо сверить шаблон, посимвольно, со словом.
Буква совпадает (? всегда совпадает) - переходим к следующей.
Не совпадает - переходим к запасному варианту, если они кончились - ответ "нет".
Запасные варианты создаются на звездочках - перебором, сколько символов может под ней скрываться.
Создайте абстракцию (класс, структуру) - состояние проверки шаблона на определенной букве, это будет и текущее состояние, и каждый из сохраненных вариантов.
Да, по науке это называется конечным автоматом.