Regular Expressions in C

Objectives

About

Naposledy sme si precvičovali tvorbu jednoduchých regulárnych výrazov priamo z príkazového riadku pomocou nástroja grep. Dnes sa pokúsime regulárne výrazy implementovať do programov napísaných v jazyku C.

Postup

IP Validation

V tomto kroku sa pokúste vyriešiť úlohu z prvého cvičenia spolu s regulárnym výrazom vytvoreným na minulom cvičení v jazyku C.

Úloha 1.1

Vytvorte jednoduchý validátor IPv4 adries v jazyku C.

Úloha 1.2

Overte svoju implementáciu.

Date and Time Validation

V tomto kroku rozšírime našu implementáciu Todo Listu o validáciu dátumu.

Úloha 2.1

Naklonujte si svoj študentský Git repozitár.

Úloha 2.2

Rozšírte funkciu create_task() o validáciu dátumu.

Dátum môže byť v tvare DD.MM.YYYY (deň a mesiac sa skladajú z dvoch znakov a rok zo štyroch). V prípade, že dátum nie je v uvedenom tvare, funkcia vráti hodnotu NULL.

Poznámka

Tentokrát sa nesnažte kontrolovať aj správnosť zapísaného dátumu, nakoľko tento problém vyriešite len čiastočne. Problém tu nastáva totiž s mesiacmi, ktoré majú 30 a 31 dní, február má dokonca 28 dní a občas aj 29.

Úloha 2.3

Overte svoju implementáciu.

Implementáciu môžete overiť napríklad na týchto vstupoch:

1.1.1979
17/04/2018
04/17/2018
2018/04/17
2018.04.17

Find the Password

Úloha 3.1

Stiahnite si program heslo.c, preložte ho a spustite ho.

Úloha 3.2

Zobrazte si obsah súboru a pokúste sa zistiť heslo, ktoré program očakáva.

Ďalšie zdroje