Corso di Raku / Espressioni regolari e grammatiche / Espressioni regolari / Quantificatori / Exercises / Da due a quattro cifre
Soluzione: Da due a quattro cifre
Ecco una possibile soluzione del compito.
Codice
say 'abc12345' ~~ / \d ** 2..4 /;🦋 Trova il programma nel file two-to-four-digits.raku.
Output
「1234」Commenti
\d ** 2..4riconosce da due a quattro cifre di fila.La stringa ha cinque cifre disponibili, ma l’intervallo limita la corrispondenza a quattro, quindi lo schema prende
1234e lascia il5finale. Essendo goloso, prende il massimo che l’intervallo permette invece del minimo.La golosità si applica solo all’interno di una singola corrispondenza: il motore si ferma comunque al primo punto in cui lo schema riesce. Anche se una sequenza di cifre più lunga compare più avanti nella stringa, non viene mai raggiunta:
say 'abc123def6789012z' ~~ / \d ** 2..4 /; # 「123」
Qui viene riconosciuto
123anche se la sequenza successiva6789012avrebbe riempito tutto l’intervallo con6789. Vince la corrispondenza più a sinistra.