AplikaceAplikace
Nastavení

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Obě strany předchozí revizePředchozí verze
Následující verze
Předchozí verze
Následující verzeObě strany příští revize
kurz:regularni_vyrazy [2016/09/29 11:02] – [Kvantifikátory] vaclavcvrcekkurz:regularni_vyrazy [2017/05/18 13:36] michalskrabal
Řádek 3: Řádek 3:
 V předchozích lekcích jsme se naučili [[kurz:prvni_dotaz|pokládat dotaz]], [[kurz:zobrazeni_dotazu|zobrazovat a ukládat]] výsledky a [[kurz:vyhodnoceni_dotazu|vyhodnocovat výsledky]] pomocí frekvenční distribuce. V této lekci se podíváme na pokročilejší způsoby dotazování. V předchozích lekcích jsme se naučili [[kurz:prvni_dotaz|pokládat dotaz]], [[kurz:zobrazeni_dotazu|zobrazovat a ukládat]] výsledky a [[kurz:vyhodnoceni_dotazu|vyhodnocovat výsledky]] pomocí frekvenční distribuce. V této lekci se podíváme na pokročilejší způsoby dotazování.
  
-Tzv. [[pojmy:regularni_vyrazy|regulárními výrazy]] rozumíme sekvence znaků, pomocí kterých můžeme vyhledat množinu slov. Regulární výrazy využívají jednak znaky se speciálním významem (například znak ''*'' se používá jako zástupný symbol pro libovolný počet opakování, znak ''|'' je symbolem pro výběr z alternativ, podrobněji viz níže), jednak běžné znaky, tj. znaky abecedy, číslice apod., které mají doslovný význam. Všechny speciální znaky si postupně představíme a zároveň si vyzkoušíme, jak fungují v [[kontext|rozhraní KonText]]. +Tzv. [[pojmy:regularni_vyrazy|regulárními výrazy]] rozumíme sekvence znaků, pomocí kterých můžeme vyhledat množinu slov. Regulární výrazy využívají jednak znaky se speciálním významem (například znak ''*'' se používá jako zástupný symbol pro libovolný počet opakování, znak ''|'' je symbolem pro výběr z alternativ, podrobněji viz níže), jednak běžné znaky, tj. znaky abecedy, číslice apod., které mají doslovný význam. Všechny speciální znaky si postupně představíme a zároveň si vyzkoušíme, jak fungují v [[kontext|rozhraní KonText]].
  
 ===== Tečka: libovolný znak ===== ===== Tečka: libovolný znak =====
Řádek 22: Řádek 22:
 | **plus** | ''+'' | 1 nebo více opakování předchozího znaku nebo celku | ekvivalentní s ''{1,}'' | | **plus** | ''+'' | 1 nebo více opakování předchozího znaku nebo celku | ekvivalentní s ''{1,}'' |
 | **otazník** | ''?'' | žádný nebo jeden výskyt předchozího znaku nebo celku | ekvivalentní s ''{0,1}'' nebo ''{,1}'' | | **otazník** | ''?'' | žádný nebo jeden výskyt předchozího znaku nebo celku | ekvivalentní s ''{0,1}'' nebo ''{,1}'' |
-| **interval ve složených závorkách** | ''{n, k}'' | //n// až //k// opakování předchozího znaku nebo většího celku | je-li //k// vynecháno, tedy zůstane-li ''{n,}'', odpovídá intervalu nejméně //n// opakování;\\ je-li //n// vynecháno, tedy zůstane-li ''{,k}'', doplní se na jeho místo nula;\\ pokud má výraz tvar ''{n}'', odpovídá mu přesně //n// opakování |+| **interval ve složených závorkách** | ''{n, k}'' | //n// až //k// opakování předchozího znaku nebo většího celku | je-li //k// vynecháno, tedy zůstane-li ''{n,}'', odpovídá intervalu nejméně //n// opakování;\\ je-li //n// vynecháno, tedy zůstane-li ''{,k}'', doplní se na jeho místo nula;\\ <WRAP round important 50%> 
 +Pozor! Dočasně tento způsob dotazu nefunguje, a je tudíž potřeba zadat obě hodnoty, tzn. //n// i //k//. Na odstranění této technické chyby pracujeme. 
 +</WRAP> pokud má výraz tvar ''{n}'', odpovídá mu přesně //n// opakování |
 | **kulaté závorky** | ''()'' | vytvářejí celek, na který lze aplikovat další operace, např. opakování | celkem mohou být konkrétní znaky i vyšší jednotky | | **kulaté závorky** | ''()'' | vytvářejí celek, na který lze aplikovat další operace, např. opakování | celkem mohou být konkrétní znaky i vyšší jednotky |