Raku kurss / Regulārās izteiksmes un gramatikas / Regulārās izteiksmes / Kvantifikatori / Exercises / No diviem līdz četriem cipariem
Risinājums: No diviem līdz četriem cipariem
Šeit ir iespējams risinājums uzdevumam.
Kods
say 'abc12345' ~~ / \d ** 2..4 /;🦋 Atrodiet programmu failā two-to-four-digits.raku.
Izvade
「1234」Komentāri
\d ** 2..4piemeklē no diviem līdz četriem cipariem pēc kārtas.Virknē ir pieejami pieci cipari, taču diapazons sakritību ierobežo līdz četriem, tāpēc raksturs paņem
1234un atstāj pēdējo5. Būdams rijīgs, tas paņem visvairāk, cik diapazons ļauj, nevis vismazāk.Rijība attiecas tikai uz vienu sakritību — dzinējs joprojām apstājas pirmajā vietā, kur raksturs izdodas. Pat ja garāka ciparu virkne parādās vēlāk virknē, tā netiek sasniegta nemaz:
say 'abc123def6789012z' ~~ / \d ** 2..4 /; # 「123」
Šeit tiek piemeklēts
123, lai gan vēlākā virtene6789012būtu piepildījusi visu diapazonu ar6789. Uzvar sakritība, kas ir pa kreisi.