Kurso de Raku / Regulesprimoj kaj gramatikoj / Gramatikoj / Kio estas gramatiko
Nomitaj regulesprimoj
Ĝis nun vi skribis ŝablonojn rekte ene de / … /. Vi
ankaŭ povas doni al ŝablono nomon kaj reuzi ĝin, same
kiel subrutinon. Deklaru unu per my regex (aŭ
my token, kiun vi ĝuste renkontos baldaŭ):
my regex number { \d+ }Por uzi nomitan regulesprimon ene de alia ŝablono, skribu ĝian nomon
en angulaj krampoj, <number>:
my regex number { \d+ }
if '42 cats' ~~ / <number> / {
say $<number>; # 「42」
}Voki <number> kaj kongruas kun la ŝablono
kaj kaptas ĝin sub tiu nomo, do la kongruinta teksto
disponeblas kiel $<number> — nomita kapto, kiun vi
ricevas senpage.
Nomita regulesprimo povas esti uzata plurfoje en unu ŝablono. Kiam ĝi aperas pli ol unufoje, la kaptoj fariĝas listo, atingata laŭ indekso:
my regex num { \d+ }
if '3-4' ~~ / <num> '-' <num> / {
say $<num>[0]; # 「3」
say $<num>[1]; # 「4」
}Nomitaj regulesprimoj tenas ŝablonojn legeblaj kaj permesas al vi konstrui pli grandajn el pli malgrandaj, bone nomitaj partoj. Ĝuste tion faras gramatiko en pli granda skalo.
Praktiko
Vin atendas 1 kvizo pri la enhavo de ĉi tiu temo.
Kursa navigado
← Kio estas gramatiko | Kvizo — Nomitaj regulesprimoj →
💪 Aŭ iru rekte al la ekzercoj de ĉi tiu
sekcio.