Raku kurss / Regulārās izteiksmes un gramatikas / Regulārās izteiksmes / Enkuri

Virknes sākums un beigas

Divi enkuri iezīmē virknes galus:

  • ^ sakrīt pašā virknes sākumā
  • $ sakrīt pašās beigās

Izmantojiet ^, lai pieprasītu, ka sakritība sākas virknes sākumā:

say so 'http://example' ~~ /^ http /; # True
say so 'see http://x'   ~~ /^ http /; # False

Otrā virkne satur http, taču ne sākumā, tāpēc noenkurotais raksturs neizdodas.

Liekot ^ un $ ap raksturu, tas tiek piespiests sakrist ar visu virkni, neatstājot neko pāri ne vienā, ne otrā pusē:

say so 'hello'       ~~ /^ hello $/; # True
say so 'hello world' ~~ /^ hello $/; # False

Šis ir ļoti izplatīts pārbaudes paņēmiens — piemēram, «vai šī virkne ir tieši skaitlis?»:

say so '2025' ~~ /^ \d+ $/; # True
say so '20a5' ~~ /^ \d+ $/; # False

Rindu enkuri

Kad virknē ir vairākas rindas, partneri ^^ un $$ sakrīt katras rindas sākumā un beigās, nevis visas virknes. Atšķirība no ^ un $ parādās, tiklīdz vajadzīgais teksts nav pirmajā rindā: vienkāršie enkuri redz tikai visu virkni un neizdodas, bet dubultotie sakrīt jebkurā rindā.

say so "cat\ndog" ~~ /^  dog  $/;  # False
say so "cat\ndog" ~~ /^^ dog $$/;  # True

Šeit \n sāk otro rindu. ^^ pieprasa, lai dog atrastos rindas sākumā, bet $$ — rindas beigās; abi otrajā rindā izpildās, tāpēc dubultotie enkuri izdodas tur, kur vienkāršie nespēj.

Prakse

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

Kursa navigācija

Enkuri   |   Viktorīna — Virknes enkuri


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