Kurso de Raku / Regulesprimoj kaj gramatikoj / Regulesprimoj / Kvantoroj / Exercises / De du ĝis kvar ciferoj
Solvo: De du ĝis kvar ciferoj
Jen ebla solvo de la tasko.
Kodo
say 'abc12345' ~~ / \d ** 2..4 /;🦋 Vi povas trovi la fontkodon en la dosiero two-to-four-digits.raku.
Eligo
「1234」Komentoj
\d ** 2..4kongruas kun du ĝis kvar ciferoj sinsekve.La ĉeno havas kvin ciferojn disponeblajn, sed la intervalo limigas la kongruon al kvar, do la ŝablono prenas
1234kaj lasas la finan5. Estante avida, ĝi prenas la plejmulton, kiun la intervalo permesas, anstataŭ la plej malmulton.Avideco validas nur ene de unu sola kongruo — la motoro ankoraŭ haltas ĉe la unua loko, kie la ŝablono sukcesas. Eĉ se pli longa cifera sekvenco aperas poste en la ĉeno, ĝi neniam estas atingata:
say 'abc123def6789012z' ~~ / \d ** 2..4 /; # 「123」
Ĉi tie
123estas kongruita, kvankam la posta serio6789012estus pleniginta la tutan intervalon per6789. La plej maldekstra kongruo venkas.