Курс языка программирования Raku / Регулярные выражения и грамматики / Регулярные выражения / Квантификаторы / Exercises / Экономное совпадение

Решение: Экономное совпадение

Вот один из возможных вариантов решения задачи.

Код

say 'say "hi" and "bye"' ~~ / '"' .+? '"' /;

🦋 Исходный код можно найти в файле frugal-match.raku.

Вывод

「"hi"」

Комментарии

  1. Знак ? после .+ делает квантификатор экономным, поэтому он берёт как можно меньше символов.

  2. Из-за этого он останавливается на первой закрывающей ", захватывая только "hi". Жадный .+ дотянулся бы до последней " и совпал бы с "hi" and "bye".

Навигация по курсу

Экономное совпадение   |   От двух до четырёх