Raku kurss / Regulārās izteiksmes un gramatikas / Gramatikas / Kas ir gramatika

Nosauktas regulārās izteiksmes

Līdz šim jūs raksturus rakstījāt tieši / … / iekšienē. Raksturam var arī dot nosaukumu un to atkārtoti izmantot, gluži kā apakšprogrammu. Deklarējiet tādu ar my regex (vai my token, ar ko pienācīgi iepazīsieties drīz):

my regex number { \d+ }

Lai nosauktu regulāro izteiksmi izmantotu citā raksturā, rakstiet tās nosaukumu leņķa iekavās — <number>:

my regex number { \d+ }

if '42 cats' ~~ / <number> / {
    say $<number>; # 「42」
}

Izsaucot <number>, raksturs tiek gan piemeklēts, gan satverts ar šo nosaukumu, tāpēc sakritušais teksts ir pieejams kā $<number> — nosaukts tvērums, ko iegūstat par velti.

Nosauktu regulāro izteiksmi vienā raksturā var izmantot vairākas reizes. Kad tā parādās vairāk nekā vienu reizi, tvērumi kļūst par sarakstu, kas sasniedzams pēc indeksa:

my regex num { \d+ }

if '3-4' ~~ / <num> '-' <num> / {
    say $<num>[0]; # 「3」
    say $<num>[1]; # 「4」
}

Nosauktas regulārās izteiksmes patur raksturus lasāmus un ļauj lielākus uzbūvēt no mazākiem, labi nosauktiem gabaliem. Tieši to lielākā mērogā dara gramatika.

Prakse

Jūs gaida 1 viktorīna par šī temata saturu.

Kursa navigācija

Kas ir gramatika   |   Viktorīna — Nosauktas regulārās izteiksmes


💪 Vai arī dodieties tieši uz šīs sadaļas vingrinājumiem.