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 |
Nenech si to pro sebe...
Pokud tě článek zaujal, sdílej ho s ostatními. Díky!