Corso di Raku / Espressioni regolari e grammatiche / Espressioni regolari / Asserzioni di contesto / Exercises / Un numero nudo

Soluzione: Un numero nudo

Ecco una possibile soluzione del compito.

Codice

say '5 and $9' ~~ / <!after '$'> \d+ /;

🦋 Trova il programma nel file bare-number.raku.

Output

「5」

Commenti

  1. <!after '$'> è un lookbehind negativo: riesce solo quando il carattere immediatamente prima della posizione corrente non è un $. Controlla quel vicino senza consumarlo.

  2. Il 9 viene rifiutato perché sta subito dopo un $, quindi il motore riconosce invece il 5 precedente, davanti al quale non c’è nulla.

Un numero nudo   |   Non seguito da