Házi feladat

Reguláris kifejezések alkalmazása nagy cserékben

Általánosságban

A reguláris kifejezések nagyon jól alkalmazhatók különböző formátumok (HTML, XML, CSV, ...) közti átváltásokban. Ezek gyakorlását segíti ez a feladatsor. Minden feladatnak lesz egy kódneve, amire a következőkben FELADAT-ként hivatkozunk. Ezek mindig a feladat címében szerepelnek majd zárójelben. Mindegyik feladat a következőket tartalmazza:

A feladatod az lenne, hogy előállítsd ezek alapján a következő fájlokat:

Természetesen a lényeg az lenne, hogy a .regex fájl-ban leírt teljes dokumentumos cserét végrehajtva az input_FELADAT.X-en az output_FELADAT.Y-t kapjuk, és ez megfeleljen annak az átírásnak, amit a kis bemenet és kis kimenet fájlpár leír.

Konkrét feladatok

Számozott felsorolások átírása HTML-re (felsorolas2html)

Összeömlesztettem az összes 3000-es feladatot A és I között, és szeretném ezeket átírni html-re, hogy kirakhassam a honlapomon. Nyilván nem stimmelnek így a számozások, de megoldaná a problémát, ha ol-környezetet használnék, hiszen az magától számozna mindent. Erre problémára adj egyetlen teljes dokumentumos cserével választ úgy, hogy reguláris kifejezésekre támaszkodsz!

Vigyázat, a kisoutput most egy html-fájl, így azt a böngésző rendesen megnyitja (és ul-környezetként értelmezi). Az oldal forrását nézzétek vagy mentsétek le a mögötte lévő lapot teljes egészében!

csv fájl átírása html-táblázattá (csv2html)

Ki kell rakni a 3000J-ben lévő nevezetes tanulói adatbázist egy statikus honlapra. Egyetlen cserével írd át a mellékelt csv-fájlt, hogy egy megfelelő table-környezetbe beillesztve a fájlt a megfelelő táblázat jelenjen majd meg!

Vigyázat, a kisoutput most egy html-fájl, így azt a böngésző rendesen megnyitja (és ul-környezetként értelmezi). Az oldal forrását nézzétek vagy mentsétek le a mögötte lévő lapot teljes egészében!

Illetve vigyázzatok arra is, hogy a csv-fájlokat valószínűleg megpróbálja majd az excel automatikusan megnyitni. Rendes szövegszerkesztővel (pl. VSCode vagy Notepad++) nyissátok meg! Kódolásra is ügyeljetek, ezekben a szövegszerkesztőkben ez könnyen elintézhető (encoding!). Legyen szép UTF-8.

csv fájl feltöltése relációs adatbázisba (csv2sql)

Fel kell tölteni a 3000J-ben lévő nevezetes tanulói adatbázist egy adatbázisba (pl. azért, hogy azt egy dinamikus webes alkalmazás felhasználhassa). Egyetlen cserével írd át a mellékelt csv-fájlt úgy, hogy az adatbázisszerver értelmezve a parancsokat felöltse a csv tartalmával az (erre már előkészített) adatbázist!

Vigyázat, a csv-fájlokat valószínűleg megpróbálja majd az excel automatikusan megnyitni. Rendes szövegszerkesztővel (pl. VSCode vagy Notepad++) nyissátok meg! Kódolásra is ügyeljetek, ezekben a szövegszerkesztőkben ez könnyen elintézhető (encoding!). Legyen szép UTF-8.

Illetve vigyázzatok arra is, hogy a csv-fájlokat valószínűleg megpróbálja majd az excel automatikusan megnyitni. Rendes szövegszerkesztővel (pl. VSCode vagy Notepad++) nyissátok meg! Kódolásra is ügyeljetek, ezekben a szövegszerkesztőkben ez könnyen elintézhető (encoding!). Legyen szép UTF-8.

html fájl átírása tsv-formátumba (html2tsv)

A MESTER visszalépéses keresés témakörének Üzletek* feladatára beérkezett eredményeket szeretné egy tanár egy programban feldolgozni. A tanárnak már vannak korábban elkészített kiváló tsv fájlbeolvasó és feldolgozó függvényei, azonban az eredmények kapcsán csak a tanulók által is hozzáférhető "EredményLista" linken keresztül tud hozzáférni, és ott egy html-be ágyazott táblázat várja. Adj meg olyan reguláris kifejezéssel megadott teljes dokumentumos cserét, amely sok sorban és sok whitespace-szel szedett html-táblázatot egy egyszerű, a tanár programja számára kényelmesen beolvasható és feldolgozható tabulátorokkal tagolt tsv-fájlba alakítja át!

Vigyázat, az input-fájlok most html-fájlok, így a böngésző ezeket egyből értelmezi. Az oldal forrását nézzétek vagy mentsétek le a mögötte lévő lapot teljes egészében és kódszerkesztővel nyissátok meg!