Tester regulárních výrazů
Na této stránce si můžeš otestovat, zda textový řetězec vyhovuje regulárnímu výrazu POSIX ERE (POSIX Extended Regular Expression) nebo PCRE (Perl Compatible Regular Expression). Výraz můžeš testovat funkcemi v PHP, Perlu a JavaScriptu nebo nástroji AWK, Grep a PCREGrep. Protože různé nástroje a jazyky interpretují regulární výrazy různě, některé konstrukce nemusejí fungovat stejně.
Syntaxe regulárních výrazů
Stručný přehled syntaxe obou verzí regulárních výrazů. Podrobnější informace najdeš na stránkách v odkazech níže.
POSIX rozšířené - ERE
^ |
začátek řetězce |
$ |
konec řetězce |
. |
libovolný znak bez / včetně \n |
[ ] |
výčet znaků, např. [abc] |
[^ ] |
negativní výčet znaků, např. [^abc] |
- |
rozsah znaků ve výčtu, např. [a-z] |
( ) |
ohraničení podvýrazu, např. (.+) |
| |
logické NEBO mezi výrazy, např. jpg|gif |
? |
žádné nebo jedno opakování, např. jpe?g |
* |
žádné nebo více opakování, např. a* |
+ |
jedno nebo více opakování, např. a+ |
{min,max} |
opakování od min do max, např. a{0,3} |
POSIX znakové třídy
[:<:] |
začátek slova |
[:>:] |
konec slova |
[:alnum:] |
písmena a číslice, [A-Za-z0-9] |
[:word:] |
písmena, číslice a podtržítko, [A-Za-z0-9_] |
[:alpha:] |
písmena, [A-Za-z] |
[:blank:] |
znak mezery a tabelátoru, [ \t] |
[:cntrl:] |
kontrolní znaky, [\x00-\x1F\x7F] |
[:digit:] |
číslice, [0-9] |
[:graph:] |
viditelné znaky, [\x21-\x7E] |
[:lower:] |
malá písmenka, [a-z] |
[:print:] |
viditelné znaky a mezera, [\x20-\x7E] |
[:punct:] |
interpunkční znaménka [-!"#$%&'()* +,./:;<=>?@[\\\]^_`{|}~] |
[:space:] |
neviditelné znaky, [ \t\r\n\v\f] |
[:upper:] |
velká písmenka, [A-Z] |
[:xdigit:] |
hexadecimální číslice, [A-Fa-f0-9] |
Perl kompatibilní - PCRE
^ |
začátek řetězce / řádky (multiline) |
$ |
konec řetězce / řádky (multiline) |
. |
libovolný znak bez / včetně \n |
[ ] |
výčet znaků, např. [abc] |
[^ ] |
negativní výčet znaků, např. [^abc] |
- |
rozsah znaků ve výčtu, např. [a-z] |
( ) |
ohraničení podvýrazu, např. (.+) |
| |
logické NEBO mezi výrazy, např. jpg|gif |
? |
žádné nebo jedno opakování, např. jpe?g |
* |
žádné nebo více opakování, např. a* |
+ |
jedno nebo více opakování, např. a+ |
{min,max} |
opakování od min do max, např. a{0,3} |
PCRE zástupné znaky
\a |
alarm, [\x07] |
\e |
escape, [\x1B] |
\f |
formfeed, [\x0C] |
\n |
nový řádek, [\x0A] |
\r |
návrat vozíku, [\x0D] |
\t |
tabelátor, [\x09] |
\x00 |
znak v šestnáctkové soustavě |
\d |
desítková číslice, [0-9] |
\D |
jakýkoliv znak vyjma číslice, [^0-9] |
\s |
neviditelné znaky |
\S |
jakýkoliv znak vyjma neviditelného |
\w |
jakýkoliv znak slova |
\W |
jakýkoliv znak vyjma znaku slova |
\b |
hranice slova |
\B |
opak hranice slova |
\A |
začátek řetězce |
\Z |
konec řetězce nebo poslední řádky |
\z |
konec řetězce |
Informace o regulárních výrazech
Několik užitečných stránek o regulárnách výrazech.
- Informace o regulárních výrazech na české Wikipedii
- Informace o regulárních výrazech na Wikipedii (anglicky)
- Návody, články a diskuse na RegularniVyrazy.info
- Seriál článků Regulární výrazy na Root.cz
- Návod k PREG funkcím na PHP.net (anglicky)
- Návod k EREG funkcím na PHP.net (anglicky)
- Dokumentace PCRE na CPAN.org (anglicky)
Pokud najdeš zajímavou stránku, napiš webmasterovi, možná ji sem přidá.
Historie regexp.cz
Tento web byl spuštěn již v roce 2001 nadšencem regulárních výrazů Martinem Sýkorou. V únoru 2010 dostal web nový design, obsah i nové možnosti testování rozšířené o Grep a PCREGrep.
Verze 2.1, aktualizováno 5.2.2010
