Raku kurss / Regulārās izteiksmes un gramatikas / Regulārās izteiksmes / Alternatīvas

Garākais marķieris un pirmā sakritība

Kad divas alternatīvas vienā un tajā pašā vietā abas varētu sakrist, operators | izvēlas to, kas sakrīt ar garāko teksta gabalu. To sauc par garākā marķiera piemeklēšanu:

say 'catdog' ~~ / cat | catdog /; # 「catdog」

Lai gan cat ir uzrakstīts pirmais un sakristu, | dod priekšroku garākajam catdog.

Dažreiz vēlaties pretējo — izmēģināt alternatīvas tādā secībā, kādā tās uzrakstījāt, un paņemt pirmo, kas sakrīt. Tieši to dara dubultā svītra ||:

say 'catdog' ~~ / cat || catdog /; # 「cat」

Tagad vispirms tiek izmēģināts cat un tas sakrīt, tāpēc dzinējs tur apstājas un catdog vispār neapsver.

Izmantojiet | (garāko marķieri), kad vēlaties «labāko» sakritību neatkarīgi no secības — tā ir ierastā izvēle un tā, uz kuru paļaujas gramatikas. Izmantojiet || (pirmo sakritību), kad alternatīvu secība ir jēgpilna un vēlaties, lai uzvarētu agrākās.

Prakse

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

Kursa navigācija

Viktorīna — Grupēšana   |   Viktorīna — Alternatīvas


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