Cursus Raku / Reguliere expressies en grammatica’s / Reguliere expressies / Alternatieven / Exercises / http of https

Oplossing: http of https

Hier is een mogelijke oplossing voor de taak.

Code

say 'https://example' ~~ / http | https /;

🦋 Je kunt de broncode vinden in het bestand http-or-https.raku.

Uitvoer

「https」

Opmerkingen

  1. Zowel http als https zou aan het begin kunnen matchen, maar | gebruikt longest-token matching.

  2. Dus het langere https wint, ook al staat http eerst geschreven.

Een alternatieve oplossing

De twee woorden verschillen alleen door een afsluitende s, dus in plaats van een alternatie kun je die s optioneel maken met de kwantor ?:

say 'https://example' ~~ / https? /; # 「https」

De ? bindt alleen aan het atoom er direct voor — de s — niet aan het hele woord, dus lees je https? als http gevolgd door een optionele s. Dat ene patroon matcht zowel http als https, en gulzig als het is neemt het de s wanneer die er is.

Cursusnavigatie

http of https   |   Ankers