Jak používat
- Do pole Vzor zadejte regulární výraz bez okolních lomítek.
- Zaškrtněte potřebné příznaky. g (globální) najde všechny shody místo pouze první.
- Vložte text, ve kterém chcete hledat. Shody jsou zvýrazněné a každá je uvedena s indexem a zachytávacími skupinami.
- Volitelně zadejte náhradu, například $2-$1, abyste zobrazili náhled výsledku String.replace.
Jak to funguje
Tester spustí váš vzor s vestavěným objektem RegExp prohlížeče, takže výsledky přesně odpovídají tomu, co by v daném prohlížeči vyprodukoval kód JavaScript (ECMAScript). Jiné jazyky používají odlišné varianty regexů: PCRE (PHP), modul re Pythonu, Java a .NET podporují funkce, které JavaScript nemá, jako jsou přivlastňovací kvantifikátory (a++), atomické skupiny ((?>…)), inline modifikátory jako (?i) a rekurzi, a liší se v detailech, jako jsou kotvy \A a \Z. Vzor vždy otestujte v jazyce, kde ho chcete používat. Lookbehind ((?<=…)), pojmenované skupiny ((?<name>…)) a escape sekvence vlastností Unicode (\p{L} s příznakem u) fungují ve všech aktuálních prohlížečích.
Bez příznaku g nebo y se najde pouze první shoda, stejně jako u RegExp.exec. Shody nulové délky, například pro ^ nebo \b, jsou uvedeny v seznamu, ale nejsou zvýrazněny; po takové shodě se hledání posune o jeden znak (s příznakem u o jeden kódový bod), přesně jako to dělá String.matchAll. Zachytávací skupiny se zobrazují podle čísla a, jsou-li definovány, také podle názvu; skupina, která se shody nezúčastnila, je označena jako bez hodnoty, což je něco jiného než prázdná shoda.
Některé vzory, jako (a+)+$ na dlouhém řádku bez shody, selhávají exponenciálně dlouho (katastrofický backtracking). Pro snížení rizika se shoda spouští chvíli poté, co přestanete psát, prohledává se pouze prvních 100 000 znaků textu a shromáždí se nejvýše 1 000 shod. Patologický vzor přesto může kartu na chvíli zablokovat; pokud k tomu dojde, zjednodušte vzor nebo zkraťte text.
Příklady
Extrakce dat
Vzor (\d{4})-(\d{2})-(\d{2}) s příznakem g na textu „Due 2026-03-15, paid 2026-04-02“ najde dvě shody. Skupina 1 je rok; nahrazení $3.$2.$1 změní text na „Due 15.03.2026, paid 02.04.2026“.
Pojmenované skupiny pro čitelný kód
(?<key>\w+)=(?<value>[^&]*) na dotazovém řetězci a=1&b=two vypíše klíč a hodnotu pro každou dvojici, což odpovídá tomu, co v JavaScriptu vrací match.groups.key a match.groups.value.
Hledání bez ohledu na velikost písmen napříč řádky
^error:.* s příznaky g, i a m najde každý řádek logu začínající na Error:, ERROR: nebo error:, protože m zajistí, že ^ odpovídá začátku každého řádku.
Časté dotazy
Bude můj regex fungovat stejně v Pythonu, PHP nebo Javě?
Ne nutně. Tento nástroj používá JavaScriptový engine. Základní syntaxe je společná, ale funkce jako přivlastňovací kvantifikátory, atomické skupiny, inline přepínače jako (?i) a některé escape sekvence existují jen v jiných variantách a některé se chovají odlišně. Vždy testujte v cílovém jazyce.
Proč je nalezena pouze jedna shoda?
Příznak g (globální) je vypnutý. Bez něj JavaScript vrátí pouze první shodu. Zaškrtněte g, abyste našli všechny.
Mám psát lomítka kolem vzoru?
Ne. Zadejte pouze vzor, například \d+ místo /\d+/g, a příznaky vyberte zaškrtávacími políčky. Literální podoba JavaScriptu se zobrazuje pod výsledky pro zkopírování do kódu.
Proč se stránka s mým vzorem zpomalila?
Vnořené kvantifikátory, jako (a+)+ nebo (.*)*, mohou engine donutit zkoušet exponenciální počet cest, když neexistuje shoda. Upravte vzor konkrétněji, například nahraďte .* výrazem [^,]*, nebo použijte kotvy. Tester omezuje text na 100 000 znaků, aby dopad zmírnil.
Soukromí
Váš vzor a text se zpracovávají pouze ve vašem prohlížeči pomocí jeho JavaScriptového enginu. Nic se nenahrává, neukládá ani nezahrnuje do analytiky.