Raku kurss / Regulārās izteiksmes un gramatikas / Regulārās izteiksmes / Literāļi un rakstzīmju klases

Rakstzīmju klases

Bieži vien gribat piemeklēt nevis vienu noteiktu rakstzīmi, bet jebkuru rakstzīmi no kādas kopas. Tādu kopu sauc par rakstzīmju klasi, un to raksta starp <[ un ]>:

say 'grey' ~~ / gr <[ae]> y /; # 「grey」
say 'gray' ~~ / gr <[ae]> y /; # 「gray」

Klase <[ae]> piemeklē vienu rakstzīmi, kas ir vai nu a, vai e, tāpēc sakrīt abas krāsas nosaukuma rakstības.

Iekavās var uzskaitīt diapazonu ar diviem punktiem:

say 'a1b2' ~~ / <[0..9]> /; # 「1」

<[0..9]> piemeklē jebkuru vienu ciparu; pirmais cipars virknē ir 1.

Lai piemeklētu jebkuru rakstzīmi, kas nav kopā, tūlīt aiz atverošās iekavas lieciet mīnusa zīmi:

say 'stop!' ~~ / <-[a..z]> /; # 「!」

Šeit <-[a..z]> piemeklē pirmo rakstzīmi, kas nav mazais burts, proti, izsaukuma zīmi.

Vienā klasē var apvienot vairākus gabalus. Piemēram, <[a..z A..Z 0..9]> piemeklē burtu vai ciparu. Atstarpes tur ir tikai lasāmības dēļ — tāpat kā visur regulārajā izteiksmē, arī <[…]> iekšienē atstarpes tiek ignorētas, tāpēc <[a..zA..Z0..9]> ir tieši tā pati klase.

Prakse

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

Kursa navigācija

Burtiska teksta saskaņošana   |   Viktorīna — Pašu veidotas klases


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