Zdarma převodník

Regex Tester

Otestujte a odlaďte regulární výrazy okamžitě ve svém prohlížeči. Zvýrazněte shody, zobrazte skupiny zachycení a použijte režim nahrazení – bezplatný a soukromý.

//g
Příznaky:

O tomto nástroji

Regulární výrazy jsou doménově specifický jazyk pro porovnávání vzorů v textu. Jsou součástí výpočetní techniky od roku 1968 a nyní jsou zabudovány do každého moderního programovacího jazyka, textového editoru a nástroje pro vyhledávání z příkazového řádku. Syntaxe je stručná, ale náchylná k chybám: malé změny vedou k mírně odlišnému chování při shodě a složité výrazy se rychle stanou nečitelnými. Tester, který zobrazuje shody v reálném čase, když upravujete vzor, ​​je nejúčinnějším způsobem, jak vyvinout a ověřit regulární výraz.

Tento tester běží ve vašem prohlížeči pomocí regexového jádra JavaScriptu (stejného, jaký používá vaše aplikace, pokud běží v prohlížeči). Vzory a testovací text se reaktivně aktualizují: každá změna buď znovu spustí zápas. Shodné skupiny jsou zvýrazněny, zachycené skupiny jsou uvedeny a příznaky (nerozlišují malá a velká písmena, víceřádkové, globální) jsou vystaveny pro testování.

Syntaxe regulárního výrazu se mezi stroji mírně liší. JavaScript se řídí specifikací ECMAScript; Python, PCRE (používaný PHP a mnoha dalšími), Java a Go mají každý své vlastní dialekty s překrývajícími se, ale ne identickými funkcemi. Zde vyvinuté vzory používají syntaxi ECMAScript; přenositelnost mezi motory vyžaduje kontrolu dokumentace každého cíle.

Proč používat tester Regex

Chyby Regex se po nasazení notoricky obtížně ladí. Vzor, který vypadá rozumně, se může více či méně shodovat, než bylo zamýšleno, selhat na okrajových případech nebo mít katastrofální zpětné sledování u určitých vstupů. Interaktivní testování vzorů proti problémům s reprezentativním vstupem před kontrolou kódu a výrobou.

Vzory také těží z dokumentace. Zobrazení regulárního výrazu vedle vstupu, který by se měl shodovat, a vstupu, kterému by se neměl shodovat, znamená explicitní záměr. Budoucí správci (včetně vás za šest měsíců) oceňují zdokumentované testovací případy více než chytré jednolinky.

Jak používat

Zadejte vzor, zadejte testovací vstup, viz shody zvýrazněné živě.

  1. Zadejte svůj vzor: Zadejte vzor regulárního výrazu do pole vzor. Fungují jak doslovné regulární výrazy (/vzor/příznaky), tak pouze vzory; příznaky lze nastavit pomocí vstupu flags.
  2. Přidejte testovací vstup: Vložte ukázkový text, kterému by se měl vzor shodovat (a ideálně i text, který by se neměl shodovat). Tester spustí vzor proti vstupu a zvýrazní shody.
  3. Nastavit příznaky: Běžné příznaky: g (globální, najít všechny shody), i (nerozlišují se malá a velká písmena), m (víceřádkový, ^ a $ shodný řádek začíná/končí), s (dotall, . odpovídá novým řádkům), u (Unicode).
  4. Zkontrolujte výsledky: Každá shoda je ve vstupu zvýrazněna. Skupiny zachycení se zobrazí v seznamu s indexem skupiny a hodnotou. Tester také ukazuje počet shod a případné chyby kompilace ve vzoru.

Běžné případy použití

Technické detaily

Regulární výraz JavaScriptu se řídí specifikací ECMAScript. Hlavní vlastnosti: třídy znaků ([abc], [^abc]), kvantifikátory (*, +, ?, {n,m}), alternace (|), seskupování ((...)), zachycující a nezachycující skupiny, dopředné a dopředné vyhledávání (moderní motory), zpětné odkazy, pojmenované skupiny, únikové cesty vlastnosti Unicode (s příznakem u) a standardní sada escape sekvencí.

Důležité rozdíly oproti PCRE a Pythonu: podpora lookbehind je v JavaScriptu nedávná (2018+); pojmenované skupiny používají (?<jméno>...) syntaxi; některé únikové cesty Unicode vyžadují, aby příznak u fungoval správně. Vzory určené pro vícejazyčné použití by měly být porovnány s dokumentací každého cíle.

Výkon: motory regulárních výrazů založené na zpětném sledování (většina včetně JavaScriptu) mohou mít katastrofální zpětné sledování určitých patologických vzorců. Testy, které visí na testeru, jsou známkou toho, že vzorec potřebuje zjednodušení – obvykle tím, že se vyhneme vnořeným kvantifikátorům a nejednoznačnému střídání.

Nejlepší postupy

Často kladené dotazy

Jakou variantu regulárního výrazu tento nástroj podporuje?
Využívá vestavěný JavaScriptový engine RegExp, který podporuje standardní syntaxi včetně předběžných dotazů, pohledů na pozadí (v moderních prohlížečích), pojmenovaných zachytávacích skupin a úniků vlastností Unicode.
Mohu testovat náhrady regulárních výrazů?
Ano. Přepněte do režimu Nahradit a zadejte náhradní vzor. Můžete použít $1, $2, atd. pro zachycení zpětných odkazů skupiny a $<name> pro pojmenované skupiny.
Proč se zde můj regulární výraz shoduje jinak než v Pythonu/PHP?
Různé programovací jazyky mají mírně odlišné motory regulárních výrazů. JavaScript nepodporuje přivlastňovací kvantifikátory nebo některé funkce specifické pro PCRE. Základní syntaxe (třídy znaků, kvantifikátory, skupiny) je mezi jazyky stejná.
Ukládá nástroj moje vzory regulárních výrazů?
Ne. Nic se neukládá ani nepřenáší. Celý nástroj běží ve vašem prohlížeči. Vzory si můžete uložit do záložek nebo je sdílet zkopírováním řetězce regulárního výrazu.
Jak přiřadím doslovnou speciální postavu?
Opusťte jej zpětným lomítkem. Chcete-li odpovídat doslovné tečce: \. Chcete-li najít doslovné zpětné lomítko: \\. Uvnitř tříd postav [...] většina speciálních postav ztrácí svůj význam.
Běží tester na serveru?
Ne. Kompilace a shoda vzorů probíhá ve vašem prohlížeči pomocí nativního objektu RegExp.
Mohu testovat vzory pro ne-JavaScriptové stroje?
Většinou. U jednoduchých vzorů se hlavní motory shodují. U pokročilých funkcí (lookbehind, atomické skupiny, přivlastňovací kvantifikátory, úniky vlastností Unicode) potvrďte v dokumentaci cílového enginu.
Zvládá velmi velký vstup?
Až několik megabajtů funguje hladce. Větší vstupy mohou zpomalit nebo zablokovat prohlížeč, zejména u vzorů náchylných ke zpětnému sledování.