Regulární výrazy (regex) jsou výkonné vzory pro vyhledávání, porovnávání a extrakci textu. Používají se při programování, validaci dat, operacích hledání a nahrazování a analýze logů. Výzvou je, že syntaxe regex může být obtížná na zvládnutí. Náš bezplatný Tester regex umožňuje experimentovat v reálném čase, takže přesně vidíte, co váš vzor odpovídá.
Co budete potřebovat
- Vzor, který chcete testovat, nebo problém porovnávání textu k vyřešení
- Webový prohlížeč (Chrome, Firefox, Safari nebo Edge)
- Není třeba účet ani instalace
Návod krok za krokem
Otevřete Tester regex
Přejděte na nástroj Tester regex. Uvidíte dvě hlavní oblasti: jedna pro vzor regulárního výrazu a druhá pro testovací text, vůči kterému chcete porovnávat.
Napište vzor regex
Zadejte regulární výraz do pole vzoru. Začněte jednoduše a postupně přidávejte složitost. Například začněte doslovným slovem jako ahoj pro porovnání přesného textu a pak vzor upřesněte speciálními znaky pro porovnání širších vzorů.
Zadejte testovací text
Vložte nebo napište ukázkový text do testovací oblasti. Zahrňte příklady, které by se měly shodovat, a příklady, které by se neměly. Nástroj zvýrazňuje všechny shody v reálném čase při psaní, takže okamžitě vidíte, zda váš vzor funguje správně.
Zpřesněte a ověřte
Upravte vzor a sledujte okamžitou aktualizaci shod. Do testovacího textu přidejte hraniční případy — neobvyklé vstupy, hraniční podmínky a složité formáty — abyste se ujistili, že s nimi regex správně zachází. Až budete spokojeni, zkopírujte vzor do svého kódu nebo nástroje.
Dobré vědět Tester regex funguje výhradně ve vašem prohlížeči. Žádná data se neodesílají na žádný server, takže můžete bezpečně testovat vzory vůči citlivému textu, jako jsou e-mailové adresy, soubory protokolů nebo osobní data.
Základní syntaxe regex
| Symbol | Význam | Příklad |
|---|---|---|
. |
Libovolný jednotlivý znak | h.t odpovídá „hat", „hit", „hot" |
* |
Nula nebo více předchozích | ab*c odpovídá „ac", „abc", „abbc" |
+ |
Jeden nebo více předchozích | ab+c odpovídá „abc", „abbc", ale ne „ac" |
? |
Nula nebo jeden předchozí | colou?r odpovídá „color" i „colour" |
\d |
Libovolná číslice (0–9) | \d{3} odpovídá „123", „456" |
\w |
Libovolný slovní znak | \w+ odpovídá „ahoj", „test123" |
\s |
Libovolné bílé místo | hello\sworld odpovídá „hello world" |
^ |
Začátek řetězce | ^Ahoj odpovídá „Ahoj světe" |
$ |
Konec řetězce | světe$ odpovídá „Ahoj světe" |
[abc] |
Libovolný znak v sadě | [aeiou] odpovídá libovolné samohlásce |
(...) |
Zachytávající skupina | (ab)+ odpovídá „ab", „abab" |
Běžné vzory k vyzkoušení
Zkopírujte tyto vzory do nástroje Tester regex a experimentujte s nimi.
E-mailová adresa
[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}
Odpovídá standardním formátům e-mailů jako uzivatel@example.com a jmeno.prijmeni@firma.cz. Testujte s platnými i neplatnými formáty e-mailů, abyste viděli, jak zvládá hraniční případy.
URL
https?://[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}(/[^\s]*)?
Odpovídá URL s HTTP i HTTPS jako https://example.com a http://web.cz/cesta/stranka. Znak s? dělá „s" v „https" volitelným.
Telefonní číslo (český formát)
(\+420[\s.-]?)?\d{3}[\s.-]?\d{3}[\s.-]?\d{3}
Odpovídá různým českým formátům telefonu: 731 123 456, 731-123-456, +420 731.123.456 a podobným variantám.
Tip Při sestavování regex začněte s nejjednodušším vzorem, který odpovídá cílovému textu, a pak přidávejte omezení po jednom. Snaha napsat složitý regex najednou je mnohem obtížnější než ho sestavovat postupně při sledování aktualizace shod v reálném čase.
Běžné chyby a jak se jim vyhnout
Zapomínání na escapování speciálních znaků. Znaky jako ., *, +, ?, (, ), [, ], {, } mají v regex speciální význam. Pro doslovné porovnání je předřaďte zpětným lomítkem: \. odpovídá tečce, \( odpovídá závorce.
Přílišná chamtivost. Ve výchozím nastavení * a + odpovídají co nejvíce textu. Pokud chcete nejkratší shodu, přidejte za ně ?: .*? odpovídá co nejméně.
Neukotvení vzoru. Bez ^ a $ bude vzor jako \d{3} odpovídat libovolným třem po sobě jdoucím číslicím kdekoli v řetězci, včetně delších čísel. Použijte kotvy, pokud potřebujete porovnat celý řetězec.
Důležité Syntaxe regex se mírně liší mezi programovacími jazyky a nástroji. Vzor fungující v JavaScriptu se může chovat odlišně v Pythonu nebo PHP. Vždy otestujte konečný vzor v jazyce nebo prostředí, kde ho budete používat.
Časté otázky
Co jsou příznaky regex (flags)?
Příznaky upravují způsob aplikace vzoru. Běžné příznaky zahrnují g (globální — najde všechny shody, nejen první), i (bez rozlišení velkých/malých písmen) a m (víceřádkový — ^ a $ odpovídají hranicím řádků, nikoli jen hranicím řetězce). Tester regex umožňuje tyto příznaky přepínat.
Mohu regex použít pro hledání a nahrazování?
Ano. Většina textových editorů a programovacích jazyků podporuje hledání a nahrazování na základě regex. Zachytávající skupiny (...) umožňují odkazovat na porovnaný text v náhradním řetězci.
Jak porovnávat přes více řádků?
Použijte příznak s (dotall) pro přiřazení . k znaků nového řádku, nebo jako multiplatformní alternativu použijte [\s\S], které odpovídá libovolnému znaku včetně nových řádků.
Další kroky
Nyní, když umíte sestavovat a testovat vzory regex, zkuste je použít ve svém kódu, textovém editoru nebo nástrojích příkazového řádku. Pro další vývojářské nástroje prohlédněte si Parser cron pro výrazy plánování nebo Formátovač JSON pro práci se strukturovanými daty.