Corso di Raku / Espressioni regolari e grammatiche / Espressioni regolari / Ancore

Confini di parola

Riconoscere cat riesce dentro category, perché le tre lettere ci sono davvero. Spesso non è quello che vuoi: intendi la parola intera cat. Un’ancora di confine di parola risolve la cosa.

  • << corrisponde al margine sinistro di una parola (l’inizio di una parola)
  • >> corrisponde al margine destro di una parola (la fine di una parola)

Avvolgi una parola in queste ancore per riconoscerla solo come parola completa:

say 'the cat sat' ~~ /<< cat >>/;    # 「cat」
say so 'category'  ~~ /<< cat >>/;   # False

In category non c’è alcun confine di parola subito dopo cat, quindi lo schema ancorato fallisce — esattamente il comportamento che volevamo.

Un confine di parola sta fra un carattere di parola (\w) e un carattere non di parola, quindi non consuma nulla di suo; come ^ e $, asserisce soltanto una posizione.

Le due ancore si possono anche scrivere con i caporali « e », se li preferisci. Si comportano esattamente come << e >>:

say 'the cat sat' ~~ /« cat »/;  # 「cat」
say so 'category'  ~~ /« cat »/;  # False

Pratica

Risolvi 1 quiz sul contenuto di questo argomento.

Quiz — Ancore di stringa   |   Quiz — Ancore


💪 Oppure vai direttamente agli esercizi di questa sezione.