Ctrl K

Шаблон с точкой и звёздочкой

Сложная
Даны строка text и шаблон pattern. В шаблоне, кроме строчных латинских букв, бывают два особых символа: - . — совпадает с любым одним символом; - * — означает, что символ перед ним может повториться любое число раз, в том числе ни разу. Верните True, если шаблон совпадает со всей строкой text целиком (а не с её частью), и False иначе.
Пример 1
text="moon", pattern="mo*n" → True

o* забирает обе буквы o, остальные символы совпадают.

Пример 2
text="cat", pattern="c." → False

c. описывает ровно два символа, а в строке три — шаблон должен покрыть строку целиком.

Пример 3
text="bx", pattern="a*b.*" → True

a* не берёт ничего, b совпадает с b, а .* поглощает x.

Ограничения
  • 0 ≤ len(text) ≤ 20
  • 1 ≤ len(pattern) ≤ 20
  • text состоит из строчных латинских букв
  • pattern состоит из строчных латинских букв, . и *
  • Перед каждой * стоит буква или .
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиПодходит ли строка под шаблон СложнаяВсе результаты расстановки скобок СредняяСамый длинный сбалансированный отрезок скобок СложнаяПеретасовка разрезами СложнаяСколькими способами вычеркнуть Сложная
загружаем Python…
Вход
text="moon", pattern="mo*n"
Ожидается
True

«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 136 тестов на сервере, включая скрытые.