Vzory v datech a regulární výrazy

Žáci hledají opakující se vzory v textech a záznamech a použijí regulární výrazy k filtrování, extrakci a kontrole formátu dat.

Průvodce tématem Vzory v datech a regulární výrazy v předmětu Informatika pro III. ročník: co mají žáci zvládnout, na co navázat a kde nejčastěji chybují. K tomu příprava na hodinu, pracovní list nebo písemka, které ScioBot připraví na jedno kliknutí přesně pro tento ročník.

Připravit hodinu Všechny formáty

Klikněte a tvořte

Získejte přípravu zdarma

Vyberte formát. Jedním kliknutím otevřete tvorbu na téma Vzory v datech a regulární výrazy (III. ročník) — ScioBot ho připraví za vás.

Připravit hodinu

Další formáty na jedno kliknutí

Téma i ročník jsou už vyplněné. Nic nepíšete — rovnou tvoříte.

Žáci se učí v textech, tabulkách a exportovaných záznamech rozpoznat opakující se tvary (telefon, PSČ, e-mail, kód zboží, datum) a oddělit je od náhodného „podobného“ řetězce. Vzor není jen slovní popis, ale pravidlo, podle kterého lze data filtrovat, extrahovat pole z řádku nebo odmítnout špatný formát.

Regulární výraz zapisuje takový vzor pomocí znaků, tříd a kvantifikátorů. Na gymnáziu III. ročníku jde o praktický nástroj k hromadnému zpracování: stejné pravidlo se použije na stovky řádků, ne o teorii automatů. Výstupy G-INF-03-002 a G-INF-03-008 vyžadují účelné zobrazení, filtr a rozpoznávání vzorů v datech, ne memorování celé syntaxe.

Žáci porovnají filtr v tabulce, podmínku v databázovém dotazu a regex: každý řeší jinou vrstvu (hodnota sloupce vs. tvar řetězce). Cílem je vědět, kdy stačí jednoduchý filtr a kdy je nutné popsat strukturu textu.

Předpoklady

Klíčové pojmy

Vzor v datech
Opakující se tvar hodnot (pořadí číslic, oddělovače, povinné části), podle kterého lze řádky třídit na vyhovující a nevyhovující.
Regulární výraz
Zápis vzoru pro řetězec: literály, znakové třídy, kvantifikátory a volitelně kotvy začátku a konce.
Literál a metaznak
Obyčejné písmeno hledá samo sebe; znaky jako . * + ? [ ] ^ $ \ mají zvláštní význam a pro doslovné hledání se escapují.
Kvantifikátor
Říká, kolikrát se předchozí část smí opakovat: ? (0–1), * (0 a více), + (1 a více), {n} / {n,m}.
Znaková třída
Hranaté závorky nebo zkratky ([0-9], \d, \s) popisují množinu povolených znaků na jedné pozici, ne celý „typ pole“.
Kotvy ^ a $
Bez kotev výraz hledá podřetězec kdekoli v hodnotě; s kotvami kontroluje celý obsah pole (validace formátu).
Filtrování vs. extrakce
Filtr rozhodne ano/ne pro řádek; extrakce z vyhovujícího řetězce vytáhne skupinu (např. směrovací číslo z adresy).

Časté miskoncepce

  • Častá chyba

    Žák napíše vzor e-mailu jako *@*.* a čeká, že to v regexu znamená „cokoliv zavináč cokoliv tečka cokoliv“, jako ve vyhledávání souborů.

    Jak na to

    Na tabuli vedle sebe: glob * (libovolný řetězec) a regex * (opakování předchozího atomu). Nechte je přepsat na .+, pak na konkrétnější třídy před a za @.

  • Častá chyba

    Žák ověří „je to datum?“ výrazem \d{1,2}\.\d{1,2}\.\d{4} a prohlásí za platné i 99.99.2020, protože „sedí počet číslic“.

    Jak na to

    Dejte sadu řádků: 12.03.2020, 99.99.2020, 12.3.20. Nejdřív oddělte kontrolu tvaru od kontroly kalendáře; tvar řeší regex, rozsah měsíců/dnů tabulkou nebo kódem.

  • Častá chyba

    Žák filtruje sloupce e-mail výrazem @skola.cz a nechá projít i podvrh user@skola.cz.evil.example, protože výraz našel podřetězec.

    Jak na to

    Ukažte stejný vzor bez kotev a s ^…$. Žáci označí, které řádky „projdou omylem“, a doplní kotvy nebo hranici slova.

  • Častá chyba

    Žák zamění LIKE v SQL (_ a %) s regexem a v dotazu napíše [0-9]+ s očekáváním, že databáze rozumí stejné syntaxi jako editor nebo Python.

    Jak na to

    Jeden sloupec, tři nástroje: filtr tabulky, LIKE '%@skola.cz' a regex. Společně zapíší, který zástupný znak patří kam, a opraví dotaz na ten, který ve zvoleném systému opravdu běží.

Jak učit

2–3 hodiny

  1. Evokace: žáci z 20 „špinavých“ kontaktů ručně vyberou telefony; pojmenují, podle čeho se rozhodovali.
  2. Jádro: stejná sada přes regex (třídy, kvantifikátory, kotvy); porovnání s filtrem sloupce a s LIKE.
  3. Reflexe: u každého vzoru žáci napíší jeden falešně pozitivní a jeden falešně negativní příklad.

Nápady na aktivity

  • Kontrola exportu přihlášek: žáci sestaví výrazy pro PSČ, školní e-mail a kód třídy a označí řádky k opravě.
  • Extrakce: z volného textu „objednávka“ vytáhnou IČO a datum a uloží je do dvou sloupců tabulky.

Hodnocení

Žák na neznámém sloupci navrhne regex s kotvami, uvede 2 řetězce, které mají projít, a 2, které mají selhat (G-INF-03-002).

Žák vysvětlí, proč samotný vzor „čtyři číslice“ nestačí k rozpoznání roku v trendu a kdy je lepší filtr sloupce než regex (G-INF-03-008).

Související témata

Zdroje

Co pro vás ScioBot připraví k tématu Vzory v datech a regulární výrazy

Interaktivní aktivity, které žáci spustí na tabletu či tabuli, tisknutelné kartičky a hry pro celou třídu – každý formát na téma Vzory v datech a regulární výrazy jedním klikem.

Základní materiály

Interaktivní aktivity 14

K tisku a rozstříhání 8

Hry pro celou třídu 4

Očekávané výstupy

  • G-INF-03-002 žák nastavuje účelné zobrazení dat, filtruje a řadí data úpravou databázového dotazu
  • G-INF-03-008 hromadné zpracování dat – tabulka, její struktura – data, hlavička a legenda; řazení a filtrování dat, rozpoznávání vzorů a trendů v datech, vizualizace dat; velká data – zdroje, metody zpracování, využití

Učíte Vzory v datech a regulární výrazy trochu jinak?

Popište ScioBotu vlastními slovy, co s žáky chcete zvládnout a kolik máte času. Materiál přizpůsobí vašemu ŠVP, třídě i žákům se speciálními vzdělávacími potřebami.

Napsat ScioBotu

Související témata