POS4: Regulární výrazy
Zpracoval: ............................
Datum:
Procvičování
Zdroje:
- Wikipedia: Regular Expression
- JavaScript Tutorial
- K vyzkoušení můžete použít Tester regulárních výrazů
Příklady:
- Popište slovně jazyk, který reprezentují následující regulární výrazy:
- [0-9A-F]{3}
- [1-9]\d*00
- [_A-Za-z]([_A-Za-z0-9])*
- (b*(ab)*)*
- ^.\) (.*)$
- Zapište regulární výraz, který bude ověřovat co nejpřesněji následující jazyky:
- lichá čísla ve dvojkovém zápisu,
- telefonní čísla v mezinárodním formátu (např. +420 572 433 011),
- názvy PHP skriptů (nesmí odkazovat do jiného adresáře),
- částka v korunách v účetním formátu (mezi trojicemi číslic mezery,
na začátku může být minus, pokud je v celých korunách, končí ,-- Kč,
jinak na dvě desetinná místa).
- Vymyslete:
- text, který není datum a přesto projde následujícím výrazem:
\d{1,2}\. \d{1,2}\. \d{4}
- text, který není slovo nezačínající na „A“ a přesto
projde následujícím výrazem:
\s[^A].*[\s\.,]
- správně zapsanou podmínku v Javě, která neprojde
následujícím výrazem:
if\s*\(([^\)])*\)\s*\{[^\}]*\}
Samostatně
Úkoly:
- Popište slovně jazyk, který reprezentují následující regulární výrazy:
- <h[1-3][^>]*>[^<]*</h[1-3]>
- ^#.*#$
- \d{4}-\d{2}-\d{2}
- [0-9]{4}-((0[1-9])|(1[0-2]))-(0[1-9]|([1-2]\d)|3[01])
- Zapište regulární výraz, který bude ověřovat co nejpřesněji následující jazyky:
- uživatelské jméno (6 až 15 písmen nebo číslic),
- rodná čísla s lomítkem nebo bez
(nekontrolujete, jestli je rodné číslo správné, ale jen jestli je
v něm správný počet číslic),
- rodná čísla žen s lomítkem nebo bez
(ženy mají k číslu měsíce přičteno 50, tedy je první číslice měsíce
buď 5 nebo 6),
- nové státní poznávací značky (dvojice čísel budou odděleny mezerami).