Raku kurss / Regulārās izteiksmes un gramatikas / Regulārās izteiksmes / Apskates apgalvojumi
Skatiens uz priekšu
Lūkošanās uz priekšu pārbauda, kas nāk tūlīt aiz pašreizējās pozīcijas. To raksta leņķa iekavās:
<?before …>— izdodas, ja teksts priekšā sakrīt (pozitīva lūkošanās uz priekšu)<!before …>— izdodas, ja teksts priekšā nesakrīt (negatīva lūkošanās uz priekšu)
Pats apgalvojums nesakrīt ne ar vienu rakstzīmi; tas tikai pārbauda
pozīciju. Piemēram, piemeklējiet skaitli tikai tad, kad tam seko vārds
dollars:
say '100 dollars' ~~ / \d+ <?before ' dollars'> /; # 「100」Sakritība ir tikai 100 — teksts dollars
tika pārbaudīts, bet nav iekļauts.
Tā kā lūkošanās uz priekšu tikai apgalvo, kas seko, tas pats skaitlis sakrīt vai nesakrīt atkarībā no valūtas aiz tā:
say so '100 euro' ~~ / \d+ <?before ' euro'> /; # True
say so '100 dollars' ~~ / \d+ <?before ' euro'> /; # FalseCipari abās virknēs ir vienādi, taču apgalvojums pieņem
100 tikai tad, kad tālāk seko euro.
Negatīvā forma noder gadījumam «… bet ne tad, kad tam seko …».
Piemeklējiet cat tikai tad, kad tam neseko
cipars:
say so 'cats' ~~ / cat <!before \d> /; # True
say so 'cat5' ~~ / cat <!before \d> /; # FalseVirknē cat5 lūkošanās uz priekšu tūlīt aiz
cat ierauga ciparu, tāpēc negatīvais apgalvojums neizdodas
un neizdodas visa sakritība.
Prakse
Jūs gaida 1 viktorīna par šī temata saturu.
Kursa navigācija
← Apskates apgalvojumi | Viktorīna — Skatiens uz priekšu →
💪 Vai arī dodieties tieši uz šīs sadaļas
vingrinājumiem.