Kurso de Raku / Regulesprimoj kaj gramatikoj / Regulesprimoj / Ankroj
Komenco kaj fino de la ĉeno
Du ankroj markas la finojn de la ĉeno:
^kongruas ĉe la tute komenco de la ĉeno$kongruas ĉe la tute fino
Uzu ^ por postuli, ke la kongruo komenciĝu ĉe la
komenco:
say so 'http://example' ~~ /^ http /; # True
say so 'see http://x' ~~ /^ http /; # FalseLa dua ĉeno enhavas http, sed ne ĉe la komenco, do la
ankrita ŝablono malsukcesas.
Meti ^ kaj $ ĉirkaŭ ŝablonon devigas ĝin
kongrui kun la tuta ĉeno, kun nenio restanta ĉe ambaŭ
flankoj:
say so 'hello' ~~ /^ hello $/; # True
say so 'hello world' ~~ /^ hello $/; # FalseTio estas tre ofta idiomaĵo por validigo — «ĉu ĉi tiu ĉeno estas ekzakte nombro?», ekzemple:
say so '2025' ~~ /^ \d+ $/; # True
say so '20a5' ~~ /^ \d+ $/; # FalseLiniaj ankroj
Kiam ĉeno havas plurajn liniojn, la partneroj ^^ kaj
$$ kongruas ĉe la komenco kaj fino de ĉiu
linio anstataŭ de la tuta ĉeno. La diferenco disde
^ kaj $ montriĝas tuj kiam la teksto, kiun vi
volas, ne estas sur la unua linio: la unuoblaj ankroj vidas nur la tutan
ĉenon kaj malsukcesas, dum la duoblaj kongruas sur ajna linio.
say so "cat\ndog" ~~ /^ dog $/; # False
say so "cat\ndog" ~~ /^^ dog $$/; # TrueĈi tie \n komencas duan linion. La ^^
postulas, ke dog sidu ĉe la komenco de linio kaj
$$ ĉe la fino de unu; ambaŭ validas sur la dua linio, do la
duoblaj ankroj sukcesas, kie la unuoblaj ne povas.
Praktiko
Vin atendas 1 kvizo pri la enhavo de ĉi tiu temo.
Kursa navigado
← Ankroj | Kvizo — Ĉenankroj →
💪 Aŭ iru rekte al la
ekzercoj de ĉi tiu sekcio.