Volby 2006

názory a postoje 500 kandidátů do poslanecké sněmovny za

ČSSD, KDU-ČSL, KSČM, ODS a Stranu zelených.


English | >> česky << | Deutsch | Español ZVON > Tutorials > Regular Expressions Tutorial
Regulární výrazy

Obsah

 Příklad 1Regulární výrazy jsou citlivá na velká a malá písmena. TudížPřípad 1 najde zadaný text, zatímco Případ 2 ne.
 Příklad 2Každý znak uvnitř prohledáváného vzorce je významný, včetně "whitespace" znaků (mezera, tabelátor, konec řádku).
 Příklad 3Některé znaky mají speciální význam. Znak ^ nalezne začátek řádky (Případ 1), zatímco značka dolaru $ nalezne konec řádku (Případ 2)
 Příklad 4Pokud potřebujeme doslovnou hodnotu speciálního znaku, pak tento znak musíme uvést znaménkem "\" (backslash). Případ 1 nenalezne nic, jelikož oba znaky jsou speciální. Případ 2 nalezne všechny $, Případ 3 nalezne $, ale pouze když je to první znak, a Případ 4 pouze když je to poslení znak. "Backslash" (zpětné lomítko) má speciální význam a pokud ho chceme použít doslovně, musíme ho také uvést zpětným lomítkem (Případ 5).
 Příklad 5Tečka . nalezne jakýkoli znak.
 Příklad 6Pokud potřebujeme vyhledávat znak tečku, tak musíme tečku v regulárním výrazu uvést zpětným lomítkem.
 Příklad 7Uvnitř hranatých závorek "[]" můžeme zadat výčet znaků. Výraz odpovídá, pokud je nalezen jakýkoli z těchto znaků. Na pořadí znaků nezáleží (Případ 3)
 Příklad 8Rozsah znaků může být specifikován pomocí syntaxu [ - ]. Případ 1 a Případ 2 jsou ekvivalentní. V jednom výrazu můžeme zadat několik rozsahů (Případ 5).
 Příklad 9Pokud třída znaků začíná znakem ^, potom dané znaky nebudou vybírány.
 Příklad 10Různé alternativy mohou být uzavřeny do závorek a odděleny separátorem |.
 Příklad 11Kvantifikátory říkají, kolikrát se má daný znak vyskytnout. Hvězdička * (Případ 1) odpovídá žádnému nebo více výskytům, plus + (Případ 2) jednomu a více výskytům a otazník ? (Případ 3) žádnému nebo jednomu.
 Příklad 12Několik příkladů použití kvantifikátoru "*"
 Příklad 13Několik příkladů použití kvantifikátoru "+"
 Příklad 14Několik příkladů použití kvantifikátoru "?"
 Příklad 15Složené závorky umožňují přesné zadat, kolikrát se má znak opakovat. {m} nalezne znak vyskytující se přesně m-krát (Případ 1), {m,n} nalezne znak vyskytující se minimálně m-krát a maximálně n-krát (Případ 2) a {m,} nalezna znak vyskytující se minimálně m-krát (Případ 3).
 Příklad 16Kvantifikátory "*", "+", a "?" jsou speciální případy zápisu pomocí závorek. "*" je ekvivalent k {0,} (Případ 1, Případ 2), "+" k {1,} (Případ 3, Případ 4), a "?" k {0,1} (Případ 5, Případ 6).
 Příklad 17Implicitně jsou všechny "subpatterns" nalezeny tolikrát, kolikrát to jen jde. Toto chování může být změněno na nalezení co nejmenšího počtu, pokud je kvantifikátor následován otazníkem. Srovnej "*" (Případ 1) s "*?" (Případ 2), "+" (Případ 3) s "+?" (Případ 4), a "?" (Případ 5) s "??" (Případ 6).
 Příklad 18\w nalezne jakýkoli znak slova (tj. alfanumerické znaky plus "_"). V některých jazycích nejsou tyto zkratky rozeznávány. Pak použijte místo toho třídu znaků ("[A-z0-9_]") (Případ 5).
 Příklad 19\W nalezne jakýkoli znak nevyskytující se ve slovech (vše kromě alfanumerických znaků a "_" ). Srovnej Případ 1 a Případ 2. Je to ekvivalentní k "[^A-z0-9_]".
 Příklad 20\s nalezne "white space" znaky: mezery, konce řádků a tabelátory. \S najde všechny "non-whitespace" znaky.
 Příklad 21\d nalezne jakékoli číslo a \D zbytek. Srovnej Případ 1 a Případ 2. Použij "[0-9]", pokud tvůj programovací jazyk nepodporuje tuto zkratku (Případ 3).
 Příklad 22\b nalezne okraj slova Okraj slova (\b) je definovଠjako bod mezi dv?ma znaky, p?i?emž na jedn石tran? je \w a na druh矜W (na po?ad럮ez૥ž맮
 Příklad 23\B nalezne všechno, co není okraj slova. Okraj slova (\b) je definován jako bod mezi dvěma znaky, přičemž na jedné straně je \w a na druhé \W (na pořadí nezáleží).
 Příklad 24\A nalezne začátek řetězce. Je podobný ^, ale ^ nachází začátek pouze po na začátku řádku (po "newline"), pokud je zpracováván víceřádkový řetězec. Podobně \Z nalezne konec řetězce nebo konec řádku. Je podobný $, ale $ nalezne pouze konce řádku (před "newline").
 Příklad 25(?=<pattern>) se podívá dopředu, zda daný vzorek existuje, ale nezahrne ho do zásahu.
 Příklad 26(?!<pattern>) se podívá dopředu, zda daný vzorek existuje. Pokud ano, pak nebude žádný zásah.