tigtools

Regex Tester

Zadejte vzor a text a uvidíte všechny shody zvýrazněné, s jejich pozicí a zachytávacími skupinami. Využívá regex engine JavaScriptu ve vašem prohlížeči.

Běží ve vašem prohlížeči Bez registrace

Příznaky

Pro číslované skupiny použijte $1, $2 …, pro pojmenované skupiny $<name>, pro celou shodu $& a pro znak dolaru $$.

Jak používat

  1. Do pole Vzor zadejte regulární výraz bez okolních lomítek.
  2. Zaškrtněte potřebné příznaky. g (globální) najde všechny shody místo pouze první.
  3. 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.
  4. 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.