Corso di Raku / Espressioni regolari e grammatiche / Espressioni regolari / Asserzioni di contesto
Lookbehind
Un lookbehind controlla ciò che viene immediatamente prima della posizione corrente:
<?after …>— riesce se il testo che precede corrisponde (lookbehind positivo)<!after …>— riesce se il testo che precede non corrisponde (lookbehind negativo)
Questo ti permette di riconoscere qualcosa solo per via di ciò che lo
precede, senza includere quel prefisso nel risultato. Per esempio,
cattura le cifre che seguono un segno di dollaro, ma lascia il
$ fuori dalla corrispondenza:
if '$100' ~~ / <?after '$'> \d+ / {
say $/; # 「100」
}L’asserzione <?after '$'> richiede un
$ subito prima della posizione corrente, poi
\d+ riconosce le cifre. La corrispondenza è
100, senza il segno di dollaro.
Lookahead e lookbehind si combinano spesso. Un pezzo di testo avvolto
in <?after …> e <?before …>
corrisponde solo quando sta fra i vicini richiesti — un modo comodo di
estrarre un valore da un contesto noto.
Pratica
Risolvi 1 quiz sul contenuto di questo argomento.
Navigazione del corso
← Quiz — Lookahead | Quiz — Asserzioni →
💪 Oppure vai direttamente agli esercizi di questa
sezione.