Pokud již víte, co jsou to regulární výrazy, ale nemáte konstrukce a speciální znaky v hlavě, můžete použít tabulku (cheatsheet) s kompletním přehledem syntaxe regulárních výrazů (včetně jednotlivých odnoží).

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
Modifikátor Název Funkčnost
i ignore case nerozlišování malých/velkých písmen
s single line . odpovídá i znaku \n (nový řádek)
m multiple lines ^/$ odpovídá i začátku/konci každého řádku
x extended bílé znaky a komentáře (znaky vpravo od #) jsou ignorovány
g global match hledány všechny části řetězce, které odpovídají regulárnímu výrazu

Zpětné reference

Perl PHP PCRE PHP POSIX Javascript .NET
Skupiny znaků
číslice \d \d [[:digit:]] \d \d
písmena [a-zA-Z] [a-zA-Z] [[:alpha:]] [a-zA-Z] [a-zA-Z]
alfanumerické \w \w [[:alnum:]] \w \w
bílé znaky \s \s [[:space:]] \s \s
n-tý subvýraz – reference v RV \n
$n
\n
× \n $n
n-tý subvýraz – reference v náhradě $n \n
$n
\n $n $n
celý řetězec shody $& \0
$0
\0 $& $0
$&
řetězec před shodou $` × × $` $`
řetězec za shodou $' × × $' $'
Specifické konstrukce
Kladné tvrzení o následujícím (?= ) (?= ) × (?= ) (?= )
Záporné tvrzení o následujícím (?! ) (?! ) × (?! ) (?! )
Kladné tvrzení o přecházejícím (?<= ) (?<= ) × × (?<= )
Záporné tvrzení o předcházejícím (?<! ) (?<! ) × × (?<! )
Uzávorkování bez zpětné reference (?: ) (?: ) × × (?: )
Komentář řádkový #komentář #komentář × × #komentář
Komentář uzávorkovaný (?#komentář) (?#komentář) × × (?#komentář)
Pojmenované subvýrazy × (?P<jméno> ) × × (?<jméno> )

× – vlastnost není podporována

Článek je převzat z webu www.regularnivyrazy.info.

Tento web využívá cookies pro zajištění funkčnosti webu a získání statistik návštěvnosti webu. Více informací

The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible. If you continue to use this website without changing your cookie settings or you click "Accept" below then you are consenting to this.

Close