Курс по Raku / Регулярни изрази и граматики / Регулярни изрази / Квантификатори
Лакомо и пестеливо съпоставяне
По подразбиране квантификаторът е лаком: той съпоставя
колкото може повече, но така, че останалата част от шаблона все пак да
успее. Помислете за съпоставяне от първото < до някое
>:
say '<a><b>' ~~ / '<' .+ '>' /; # 「<a><b>」.+ погълна колкото можа, чак до
последното >, така че съвпадението
обхваща и двете двойки скоби.
За да направите квантификатора пестелив (наричан още
мързелив или нелаком), добавете ? след
него. Пестеливият квантификатор съпоставя възможно
най-малко:
say '<a><b>' ~~ / '<' .+? '>' /; # 「<a>」Сега .+? спира на първото
>, така че съвпада само първото парче в скоби.
Наставката ? работи с всеки квантификатор:
*? и **? също са пестеливи. Лакомите и
пестеливите версии съпоставят едни и същи видове текст — те се
различават само по това колко вземат, когато има избор.
Практика
Направете 1 тест върху съдържанието на тази тема.
Навигация в курса
← Квантификаторът за брой | Тест — Квантификатори →
💪 Или преминете направо към упражненията в този
раздел.