Kurso de Raku / Regulesprimoj kaj gramatikoj / Regulesprimoj / Ĉirkaŭrigardaj asertoj
Antaŭrigardo
Antaŭrigardo kontrolas, kio venas tuj post la nuna pozicio. Ĝi estas skribata ene de angulaj krampoj:
<?before …>— sukcesas, se la teksto antaŭe kongruas (pozitiva antaŭrigardo)<!before …>— sukcesas, se la teksto antaŭe ne kongruas (negativa antaŭrigardo)
La aserto mem kongruas kun neniuj signoj; ĝi nur testas la pozicion.
Ekzemple, kongruigu nombron nur, kiam ĝi estas sekvata de la vorto
dollars:
say '100 dollars' ~~ / \d+ <?before ' dollars'> /; # 「100」La kongruo estas nur 100 — la teksto
dollars estis kontrolita sed ne inkluzivita.
Ĉar la antaŭrigardo nur asertas, kio sekvas, la sama nombro kongruas aŭ ne depende de la valuto post ĝi:
say so '100 euro' ~~ / \d+ <?before ' euro'> /; # True
say so '100 dollars' ~~ / \d+ <?before ' euro'> /; # FalseLa ciferoj estas identaj en ambaŭ ĉenoj, sed la aserto akceptas
100 nur, kiam euro venas poste.
La negativa formo estas utila por «… sed ne kiam sekvata de …».
Kongruigu cat nur, kiam ĝi ne estas
sekvata de cifero:
say so 'cats' ~~ / cat <!before \d> /; # True
say so 'cat5' ~~ / cat <!before \d> /; # FalseEn cat5 la antaŭrigardo vidas ciferon tuj post
cat, do la negativa aserto malsukcesas kaj la tuta kongruo
malsukcesas.
Praktiko
Vin atendas 1 kvizo pri la enhavo de ĉi tiu temo.
Kursa navigado
← Ĉirkaŭrigardaj asertoj | Kvizo — Antaŭrigardo →
💪 Aŭ iru rekte al la ekzercoj de ĉi tiu
sekcio.