Курс языка программирования Raku / Регулярные выражения и грамматики / Регулярные выражения / Захваты / Именованные захваты

Тест — Захваты

Что выведет следующая программа?

if 'ab12cd' ~~ / (\w+) (\d+) / {
    say "$0 $1";
}
0ab 12
1ab1 2
0ab12 cd
012 ab

Жадный \w+ берёт словесные символы настолько далеко, насколько может, лишь бы для \d+ осталась хотя бы одна цифра. Он берёт ab1, а \d+ затем сопоставляет единственную оставшуюся цифру 2. Итак, $0 равно ab1, а $1 равно 2.

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

Именованные захваты   |   Незахватывающие группы