MVOP WBF
Bc. Matěj Cajthaml — SSPŠ
©
Vyhledávání v textu je složité. Proč?
Vytvořte program, který zpracuje následující data do jednotného formátu.
+xxxXXXxxxXXX
XXXxxxXXX
xxxXXXxxxXXX
(+xxx) XXXxxxXXX
+xxx XXX xxx XXX
+xxx XXXxxxXXX
...
.replace
.split
.match
.search
.test
/g
— globální, hledá všechny výskyty/i
— ignoruje velikost písmen*
— 0 až n+
— 1 až n?
— 0 nebo 1Co zbyde v řetězci pro aplikaci nahrazení za -
ve vstupu bbbbbbbbbbbbbaaaaaaa
pro níže uvedené výrazy?
/a*/
/a*/g
/bb?a*/
/b?a*/g
()
/(ahoj )*/g
Co zbyde v řetězci pro aplikaci nahrazení za -
ve vstupu madagascar obsahuje lemury, kteří spí
pro níže uvedené výrazy?
/(lemur)*/g
/(mada(ga)?scar)/g
/(b)*o*l*e+s*í*/g
{}
/(ab){2,4}/
Co zbyde v řetězci pro aplikaci nahrazení za -
ve vstupu ababababbbababab
pro níže uvedené výrazy?
/(ab){3,}/g
/bb{2}/g
/baba{1,3}/g
Co kdybychom chtěli pětkrát označit *
?
Bude fungovat následující regulární výraz?
/*{5}/g
\
/\*{5}/g
|
můžeme označit alternativní možnosti/a|b/g
Co zbyde v řetězci pro aplikaci nahrazení za -
ve vstupu ahoj jak se mas
pro níže uvedené výrazy?
/(ahoj|se)/g
/(a|j|k)/g
/((j )|(e )|(k ))/g
[]
můžeme označit rozmezí znaků/[abcde]/g
— může obsahovat a, b, c, d a e/[a-z]/g
— může obsahovat jakékoliv písmeno od a do z/[a-zA-Z0-9]/g
— může obsahovat jakékoliv písmeno od a do z, od A do Z a číslice od 0 do 9Co zbyde v řetězci pro aplikaci nahrazení za -
ve vstupu Bude to 4001,- Kč, paní K!
pro níže uvedené výrazy?
/[a-z]+/g
/[1-4]{2}/g
/[,\- !]+/g
/[,\- !]/g
null
null
-1
Co vybere následující regulární výraz?
/[a-z]+/
/[a-z]+/g
/[a-z]+/i
/(+420)? ?([0-9] ?){3}/gi
.
— vybere jeden jakýkoliv znak\s
— jakýkoliv whitespaceznak
\S
— opak \s
\d
— jeden znak\D
— opak \D
\w
— znak, který se může objevit ve slověCo zbyde v řetězci pro aplikaci nahrazení za -
ve vstupu Kočka #302, které je 5,
pro níže uvedené výrazy?
je tu proto, aby tu byla.
/.*/g
/\d+/g
/\w+/g
Jaký je rozdíl mezi (a|b)
a [ab]
?
[^xyz]
— cokoliv až na x, y a z[^5-8]
— cokoliv až na 5, 6, 7 a 8[[::ascii::]]
[[::lower::]]
Dříve uvedené rozmezí v JS nefungují. Proč?
/(?:to co chceme neseskupovat)/g
Podmínky
test(?= to je)
— vybere test
, pokud se za ním nachází to je
(?<=test)není
— vybere není
, pokud se před ním nachází test
^
— označuje začátek stringu$
— označuje konec stringu^ad$
— celá kontrola musí být rovna tokenu ad
Jak se chovají znaky ^$
společně s modifikátorem m
?
\b
— místo, kde končí či začíná slovo \B
— místa, kde \b
nevybere/\bkočička\b/g
Co zbyde v řetězci pro aplikaci nahrazení za -
ve vstupu Kočka #302, které je 5,
pro níže uvedené výrazy?
je tu proto, aby tu byla.
/(?:\b\w+\b)+/g
/(?:\B\w+\B)+/g
a\w*?
— označ co nejméně a
Co znamená regulární výraz /<[^<>]+>/gm
?