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ý.
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ý.
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.
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.
Zadejte vzor, zadejte testovací vstup, viz shody zvýrazněné živě.
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í.