You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: ziskavani-dat/regularni-vyrazy/excs/adresy-stranek.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,10 +3,10 @@ title: Adresy stránek
3
3
demand: 3
4
4
---
5
5
6
-
Adresy webových stránek zpravidla začínají záhadným shlukem písmen http:// nebo https://. Například náš web najdete pod adresou [https://kodim.cz](https://kodim.cz). Zkrátka HTTP nebo HTTPS je ve skutečnosti označení protokolu, což je nějaký popis toho, jak by měla vypadat komunikace mezi dvěma zařízeními. Standardního tvaru můžeme využít, abychom z textu vytáhli všechny adresy. Napiš program, který z proměnné `emailSRadami` vytáhne všechny webové stránky, které jsou tam zmíněny.
6
+
Adresy webových stránek zpravidla začínají záhadným shlukem písmen http:// nebo https://. Například náš web najdete pod adresou [https://kodim.cz](https://kodim.cz). Zkrátka HTTP nebo HTTPS je ve skutečnosti označení protokolu, což je nějaký popis toho, jak by měla vypadat komunikace mezi dvěma zařízeními. Standardního tvaru můžeme využít, abychom z textu vytáhli všechny adresy. Napiš program, který z proměnné `email_s_radami` vytáhne všechny webové stránky, které jsou tam zmíněny.
7
7
8
8
```py
9
-
emailSRadami="""
9
+
email_s_radami="""
10
10
Ahoj,
11
11
posílám ti pár tipů, kam se podívat. https://realpython.com nabízí spoustu článků i kurzů. http://docs.python.org nabízí tutoriál i rozsáhlou dokumentaci. http://www.learnpython.org nabízí hezky strukturovaný kurz pro začátečníky, rozebírá ale i nějaká pokročilejší témata. https://www.pluralsight.com je placený web, který ale kvalitou kurzů víceméně nemá konkurenci. Určitě ale sleduj i web https://www.czechitas.cz a přihlašuj se na naše kurzy!
Copy file name to clipboardExpand all lines: ziskavani-dat/regularni-vyrazy/excs/napravy.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,7 +3,7 @@ title: Nápravy
3
3
demand: 2
4
4
---
5
5
6
-
Uvažuj vyhlášku, která definuje maximální hmotnosti vozidel u trojnápravy nákladních vozidel a jejíž zjednodušený text je níže. Napiš 2 regulární výraz. Prvním zjistíš limit (nebo limity) vzdáleností náprav v metrech a druhým maximální povolenou hmotnost v tunách.
6
+
Uvažuj vyhlášku, která definuje maximální hmotnosti vozidel u trojnápravy nákladních vozidel a jejíž zjednodušený text je níže. Napiš 2 regulární výrazy. Prvním zjistíš limit (nebo limity) vzdáleností náprav v metrech a druhým maximální povolenou hmotnost v tunách.
7
7
8
8
Maximální hmotnosti trojnápravy při dílčím rozvoru náprav jsou:
Copy file name to clipboardExpand all lines: ziskavani-dat/regularni-vyrazy/python-re.md
+14-14Lines changed: 14 additions & 14 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -12,12 +12,12 @@ Regulární výraz můžeme vytvořit pomocí funkce `compile()` z modulu `re`.
12
12
13
13
```py
14
14
import re
15
-
regularniVyraz= re.compile(r"\d{9,10}")
15
+
regularni_vyraz= re.compile(r"\d{9,10}")
16
16
17
17
rezetec ="9511121234"
18
-
print(regularniVyraz.match(rezetec))
18
+
print(regularni_vyraz.match(rezetec))
19
19
rezetec ="ahoj"
20
-
print(regularniVyraz.match(rezetec))
20
+
print(regularni_vyraz.match(rezetec))
21
21
```
22
22
23
23
Pokud funkce `match` došla k závěru, že se řetězec shoduje s regulárním výrazem, vrátí objekt `Match`. S ním později budeme pracovat. Pokud by však funkce došla k závěru, že se řetězce s regulárním výrazem neshoduje, vrátí hodnotu označovanou jako `None`, tj. prázdnou hodnotu.
@@ -30,12 +30,12 @@ Pokud chceš ověřit, jestli řetězec odpovídá zadanému výrazu a není tam
30
30
31
31
```py
32
32
import re
33
-
regularniVyraz= re.compile(r"\d{9,10}")
33
+
regularni_vyraz= re.compile(r"\d{9,10}")
34
34
35
35
rezetec ="9511121234"
36
-
print(regularniVyraz.match(rezetec))
36
+
print(regularni_vyraz.match(rezetec))
37
37
rezetec ="9511121234$ je moje rodné číslo"
38
-
print(regularniVyraz.fullmatch(rezetec))
38
+
print(regularni_vyraz.fullmatch(rezetec))
39
39
```
40
40
41
41
### Zapojení podmínky
@@ -48,9 +48,9 @@ Pojďme nyní zapojit do akce podmínku. Můžeme třeba uživateli vypsat, jest
48
48
```py
49
49
import re
50
50
51
-
regularniVyraz= re.compile(r"\d{9,10}")
51
+
regularni_vyraz= re.compile(r"\d{9,10}")
52
52
vstup =input("Zadej rodné číslo: ")
53
-
hledani =regularniVyraz.fullmatch(vstup)
53
+
hledani =regularni_vyraz.fullmatch(vstup)
54
54
if hledani:
55
55
print("Rodné číslo je v pořádku!")
56
56
else:
@@ -64,9 +64,9 @@ Pokud např. dostaneme e-mail `[email protected]`, víme, že je v pořádku. E-
64
64
```py
65
65
import re
66
66
67
-
regularniVyraz= re.compile(r"\w+@\w+\.cz")
67
+
regularni_vyraz= re.compile(r"\w+@\w+\.cz")
68
68
email =input("Zadej e-mail: ")
69
-
hledani =regularniVyraz.fullmatch(email)
69
+
hledani =regularni_vyraz.fullmatch(email)
70
70
if hledani:
71
71
print("E-mail je v pořádku!")
72
72
else:
@@ -87,8 +87,8 @@ Pacientka 8655057477 přišla na kontrolu po zranění kotníku.
87
87
Do ordinace telefonovala pacientka 7752126712, které byl elektronicky vydán recept na Paralen.
88
88
"""
89
89
import re
90
-
regularniVyraz= re.compile(r"\d{9,10}")
91
-
vysledky =regularniVyraz.findall(zapis)
90
+
regularni_vyraz= re.compile(r"\d{9,10}")
91
+
vysledky =regularni_vyraz.findall(zapis)
92
92
for vysledek in vysledky:
93
93
print(vysledek)
94
94
```
@@ -119,8 +119,8 @@ Pacientka 8655057477 přišla na kontrolu po zranění kotníku.
119
119
Do ordinace telefonovala pacientka 7752126712, které byl elektronicky vydán recept na Paralen.
Zkusme si to na příkladu tečky `.`. Tečka zastupuje **právě jeden** libovolný znak, přesně tedy odpovídá právě "žolíku". Pokud budeme pracovat s řetězcem `"A23456789JQKA"` a zadáme regulární výraz `"78.J"`, podbarví se nám část řetězce od `7` do `J`.
14
14
15
-
Vyzkoušejme si nyní upravit program, který bude sledovat vývoj kurzu měn ve Směnárně Na Růžku, aby nám například poslal upozornění ve chvíli, kdy má nějaká měna výhodný kurz. Náš program zatím umí stáhnout informace do následující řetězce.
15
+
Vyzkoušejme si nyní upravit program, který bude sledovat vývoj kurzu měn ve Směnárně na Růžku, aby nám například poslal upozornění ve chvíli, kdy má nějaká měna výhodný kurz. Náš program zatím umí stáhnout informace do následující řetězce.
16
16
17
17
```
18
-
Vítejte ve Směnárně Na Růžku!
18
+
Vítejte ve Směnárně na Růžku!
19
19
Kurzy měn pro 19. 12. 2020 jsou:
20
20
21
21
1 € = 26.35 Kč
@@ -41,7 +41,7 @@ Pokud například chceme označit celou část našeho řádku s kurzem měn př
41
41
Někdy se ale náš kurzovní lístek může "nafouknout", proto můžeme využít i výraz `1 [€$] {3,}`.
Morseova abeceda sloužila dřív k předávání zpráv. Každé písmeno mělo svoji reprezentaci pomocí krátkých a dlouhých signálů (např. telegrafem, rádiem nebo světlem baterky). Podívejme se na následující zprávu, zda v ní není skryto volání o pomoc. O pomoc voláme pomocí mezinárodní zkratky SOS, s kódujeme pomocí tří teček a O pomocí tří čárek.
56
+
Morseova abeceda sloužila dřív k předávání zpráv. Každé písmeno mělo svoji reprezentaci pomocí krátkých a dlouhých signálů (např. telegrafem, rádiem nebo světlem baterky). Podívejme se na následující zprávu, zda v ní není skryto volání o pomoc. O pomoc voláme pomocí mezinárodní zkratky SOS, S kódujeme pomocí tří teček a O pomocí tří čárek.
@@ -123,23 +123,23 @@ Nyní už umíme sestavit výraz, kterým vybereme celý řádek s kurzem dolaru
123
123
124
124
Pokud bychom neuvažovali předčíslí, stačí nám regulární výraz `\d{6,10}/\d{4}`, který by měl pasovat např. na číslo účtu 2300117015/2010. Nesmíme zapomenout na zpětné lomítko před lomítkem.
125
125
126
-
Uvažujme, že máme program, do kterého nějaký programátor vložil proměnnou `magickaKonstanta`. Víme, že proměnná je desetinné číslo, ale potřebujeme vědět, kde je zadána její hodnota. Napiš regulární výraz, který najde řádek, který
126
+
Uvažujme, že máme program, do kterého nějaký programátor vložil proměnnou `magicka_konstanta`. Víme, že proměnná je desetinné číslo, ale potřebujeme vědět, kde je zadána její hodnota. Napiš regulární výraz, který najde řádek, kde programátor zadává hodnotu proměnné `magicka_konstanta`.
127
127
128
128
```
129
129
polomer = input("Zadej poloměr koule: ")
130
130
polomer = int(polomer)
131
-
magickaKonstanta = 3.1415
132
-
objem = 4/3 * magickaKonstanta * polomer ** 3
133
-
povrch = 4 * magickaKonstanta * r ** 2
131
+
magicka_konstanta = 3.1415
132
+
objem = 4/3 * magicka_konstanta * polomer ** 3
133
+
povrch = 4 * magicka_konstanta * r ** 2
134
134
```
135
135
136
-
Zkus si program zkopírovat do Visual Studia a vyzkoušej si vyhledávání přepnout na regulární výrazy. Najde regulární výraz `magickaKonstanta = \d+\.\d*` správný řádek?
136
+
Zkus si program zkopírovat do Visual Studia a vyzkoušej si vyhledávání přepnout na regulární výrazy. Najde regulární výraz `magicka_konstanta = \d+\.\d*` správný řádek?
137
137
138
138
### Rozmezí
139
139
140
-
Kromě výpisu znaků a předdefinovaných skupin můžeme ještě vybrat znaky pomocí rozmezí. K tomu použijeme pomlčku, kterou vepíšeme do hranatých závorek. Například čísla od 1 do 5 napíšeme jako `[1-5]`, malá písmena od `[a-e]` a všechna velká písmena jako `[A-Z]`.
140
+
Kromě výpisu znaků a předdefinovaných skupin můžeme ještě vybrat znaky pomocí rozmezí. K tomu použijeme pomlčku, kterou vepíšeme do hranatých závorek. Například čísla od 1 do 5 napíšeme jako `[1-5]`, malá písmena od a do e jako `[a-e]` a všechna velká písmena jako `[A-Z]`.
141
141
142
-
Pokud například víme, že se na nějaké střední školy vyskytují třídy označené od A do M, regulární výraz pasující na všechna jména tříd je `[1-4][A-M]`.
142
+
Pokud například víme, že se na nějaké střední škole vyskytují třídy označené od A do M, regulární výraz pasující na všechna jména tříd je `[1-4][A-M]`.
143
143
144
144
Pokud potřebujeme zajistit opakování určité sekvence znaků (ne jen jednoho), můžeme sekvenci znaků uzavřít do kulatých závorek `( )` a za pravou závorku umístit kvantifikátor. Pokud máme variant více, můžeme k jejich oddělení použít znak `|`. Například pokud chceme vybrat oba víkendové dny, napíšeme `(sobota|neděle)`.
145
145
@@ -149,7 +149,7 @@ Podívejme se nyní na pár příkladů. Níže máme tabulku s kurzy Czechitas.
149
149
150
150
* Chceme jít na kurz programování v Pythonu nebo v JavaScriptu. Kurz musí být pro začátečníky. Řádky, které nás zajímají, vyhledáme pomocí `Úvod do programování 1 - (JavaScript|Python)`. Co kdyby nám nevadil ani navazující kurz?
151
151
* Uvažujme, že nás zajímají pouze kurzy o víkendu. Vyzkoušíme si výraz `(sobota|neděle)`. Můžeme k povoleným dnům přidat ještě úterý?
152
-
* Protože se nám o víkendu nechce příliš brzy vstávat, chceme víkendové kurzy, které začínají nejdříve v 8:30. Napíšeme `(sobota|neděle) [89]:30`. Co kdybychom naopak chtěli kurzy, které začínají nejpozději v 8:30
152
+
* Protože se nám o víkendu nechce příliš brzy vstávat, chceme víkendové kurzy, které začínají nejdříve v 8:30. Napíšeme `(sobota|neděle) [89]:30`. Co kdybychom naopak chtěli kurzy, které začínají nejpozději v 8:30?
153
153
* Napíšeme si regulární výraz, který označí všechna data ve formátu, jaký je v tabulce. Můžeme například použít výraz `\d{1,2}\. (led|úno). 2021`. Do závorky bychom pro rozvrh na celý rok potřebovali přidat zkratky všech měsíců.
0 commit comments