Tečka, zpětné lomítko |
. |
odpovídá libovolnému znaku |
k.s odpovídá kus, kos, k2s aj. |
\ |
vrací metaznaku původní význam |
a\+b odpovídá a+b |
Kvantifikátory - Předcházející znak se musí vyskytovat....
|
? |
minimálně 0x, maximálně 1x |
ku?s odpovídá právě ks a kus |
* |
minimálně 0x, maximálně neomezeně krát |
halo* odpovídá hal, halo, haloooo apod. |
+ |
minimálně 1x, maximálně neomezeně krát |
halo+ odpovídá halo, haloooo apod. |
{n} |
právě n-krát |
10{6} odpovídá právě 1000000 |
{m,n} |
minimálně m-krát, maximálně n-krát
|
10{2,4} odpovídá právě 100, 1000 a 10000 |
{n,} |
minimálně n-krát |
10{2,} odpovídá 100, 1000, 10000, 10000 apod.
|
Skupiny znaků
|
[ ] |
odpovídá jednomu ze znaků v závorkách |
[abc] odpovídá právě a, b, c |
[^ ] |
odpovídá jednomu znaku, neuvedenému v závorkách
|
[^abc] odpovídá libovolný znak krom a, b, c |
[ - ] |
odpovídá jednomu znaku z rozsahu znaků |
[a-z] odpovídají (malá) písmena abecedy
|
\s |
odpovídá bílému znaku (\n, \r, \t, mezera aj.) |
a\sb odpovídá a b, ale ne ab |
\S |
odpovídá jinému než bílému znaku |
a\Sb odpovídá a+b, ale ne a b |
\d |
odpovídá desítkové číslici |
a\db odpovídá a2b, ale ne axb |
\D |
odpovídá libovolnému znaku kromě číslic 0-9 |
a\Db odpovídá axb, ale ne a2b |
\w |
odpovídá alfanumerickému znaku a podtržitku |
\w odpovídá 1, a, A, _ ap., ale ne $, + ap. |
\W |
odpovídá nealfanumerickému znaku nebo podtržítku |
\W odpovídá $, !, ?, % ap., ale ne 2, b ap. |
Hranice (ukotvení) - Odpovídá pozici...
|
^ |
na začátku řetězce či řádku |
^Petr najde Petr jen na začátku řetězce/řádku |
$ |
na konci řetězce či řádku |
Pavel$ najde Pavel jen na konci řetězce/řádku |
\b |
na začátku či konce tzv. slova |
\bkos\b nenajde kos ve slově kost či kokos |
\B |
kdekoliv kromě začátku a konce slova |
\Bkos najde kos ve slově kokos, ale ne v kost |
Alternativy, seskupování, zpětné odkazy (reference) |
| |
odděluje několik dílčích výrazů |
ahoj|nazdar odpovídá právě jednomu z pozdravů |
odděluje několik dílčích subvýrazů |
a(b|c) odpovídá právě ab a ac |
( ) |
subřetězec na nějž je možno aplikovat kvantifikátor |
ko(ko)?s odpovídá právě kos a kokos |
subřetězec na nějž se lze odkazovat |
(\d)\1 resp. (\d)$1 odpovídá 11, 22, 33 apod. |
Speciální závorkové konstrukce
|
(?: ) |
uzávorkování netvořící zpětnou referenci |
(?:\d)(\d)\1 bude odpovídat 122, 133, 455 apod. |
(?# ) |
komentář - text v závorkách za znakem # je ignorován |
a(?#test)b odpovídá právě ab |
(?= ) |
kladné tvrzení o následujícím |
kos(?=t) odpovídá kos v kost, ale ne v kosa |
(?! ) |
záporné tvrzení o následujícím |
kos(?!t) odpovídá kos v kosa, kosu ale ne v kost |
(?<= ) |
kladné tvrzení o předcházejícím |
\d{3}(?<=0) sekvence 3 číslic; poslední musí být 0 |
(?<! ) |
záporné tvrzení o předcházejím |
\d{3}(?<!0) sekvence 3 číslic; poslední nesmí být 0 |