Kurso de Raku / Regulesprimoj kaj gramatikoj / Gramatikoj / Ĵetonoj kaj reguloj / Exercises / regex kontraŭ token
Solvo: regex kontraŭ token
Jen ebla solvo de la tasko.
Kodo
my regex r { \d+ '5' }
my token t { \d+ '5' }
say so '12345' ~~ / <r> /;
say so '12345' ~~ / <t> /;🦋 Vi povas trovi la fontkodon en la dosiero token-instead.raku.
Eligo
True
FalseKomentoj
En la
regex,\d+unue kaptas la tutan12345, poste retropaŝas — redonante la finan5, por ke la laŭlitera5povu kongrui. Do la regulesprimo sukcesas.La
tokenrifuzas redoni ion ajn:\d+konservas la tutan12345, la laŭlitera5trovas nenion restantan, kaj la ĵetono malsukcesas. Ĉi tiu ne-retropaŝanta konduto estas ĝuste tial, ketokenestas la ĝusta defaŭlto ene de gramatikoj.