Regex Tester
Okamžite otestujte a odlaďte regulárne výrazy vo svojom prehliadači. Zvýraznite zhody, zobrazte skupiny záberov a použite režim nahradenia – bezplatný a súkromný.
Okamžite otestujte a odlaďte regulárne výrazy vo svojom prehliadači. Zvýraznite zhody, zobrazte skupiny záberov a použite režim nahradenia – bezplatný a súkromný.
Regulárne výrazy sú doménovo špecifický jazyk na porovnávanie vzorov v texte. Sú súčasťou výpočtovej techniky od roku 1968 a teraz sú zabudované do každého moderného programovacieho jazyka, textového editora a nástroja na vyhľadávanie v príkazovom riadku. Syntax je stručná, ale náchylná na chyby: malé zmeny vytvárajú jemne odlišné správanie pri zhode a zložité výrazy sa rýchlo stanú nečitateľné. Tester, ktorý zobrazuje zhody v reálnom čase, keď upravujete vzor, je najefektívnejším spôsobom vývoja a overenia regulárneho výrazu.
Tento tester beží vo vašom prehliadači pomocou regulárneho výrazu JavaScript (rovnakého, aký používa vaša aplikácia, ak beží v prehliadači). Vzory a testovací text sa aktualizujú reaktívne: každá zmena jednej z nich znova spustí zápas. Skupiny zhody sú zvýraznené, zachytené skupiny sú uvedené a príznaky (nerozlišujú sa malé a veľké písmená, viacriadkové, globálne) sú vystavené na testovanie.
Syntax regulárneho výrazu sa medzi strojmi jemne líši. JavaScript sa riadi špecifikáciou ECMAScript; Python, PCRE (používaný PHP a mnohými ďalšími), Java a Go majú každý svoje vlastné dialekty s prekrývajúcimi sa, ale nie identickými funkciami. Tu vyvinuté vzory používajú syntax ECMAScript; prenosnosť medzi motormi vyžaduje kontrolu dokumentácie každého cieľa.
Chyby Regex sa po nasadení ťažko ladia. Vzor, ktorý vyzerá rozumne, sa môže zhodovať viac alebo menej, ako bolo zamýšľané, zlyhať v okrajových prípadoch alebo mať katastrofálne spätné sledovanie určitých vstupov. Interaktívne testovanie vzorov proti problémom s reprezentatívnym vstupom pred kontrolou kódu a výrobou.
Vzory tiež ťažia z dokumentácie. Zobrazením regulárneho výrazu vedľa vstupu, ktorý by sa mal zhodovať a vstupu, ktorému by sa nemal zhodovať, je zámer explicitný. Budúci správcovia (vrátane vás o šesť mesiacov) oceňujú zdokumentované testovacie prípady viac ako šikovné jednoduché zostavy.
Napíšte vzor, zadajte testovací vstup, pozrite si zvýraznené zhody naživo.
Regulárny výraz JavaScriptu sa riadi špecifikáciou ECMAScript. Hlavné funkcie: triedy znakov ([abc], [^abc]), kvantifikátory (*, +, ?, {n,m}), alternácia (|), zoskupovanie ((...)), zachytávajúce a nezachytávajúce skupiny, dohľad a dohľad (moderné nástroje), spätné odkazy, pomenované skupiny, úniky vlastností Unicode (s príznakom u) a štandardná sada sekvencií escape.
Dôležité rozdiely oproti PCRE a Pythonu: podpora lookbehind je nedávna v JavaScripte (2018+); pomenované skupiny používajú (?<meno>...) syntax; niektoré únikové cesty Unicode vyžadujú, aby príznak u fungoval správne. Vzory určené na viacjazyčné použitie by sa mali porovnať s dokumentáciou každého cieľa.
Výkon: motory regulárneho výrazu založené na spätnom sledovaní (väčšina vrátane JavaScriptu) môžu mať katastrofálne spätné sledovanie určitých patologických vzorov. Testy, ktoré tester visia, sú znakom toho, že vzor potrebuje zjednodušenie – zvyčajne tým, že sa vyhnete vnoreným kvantifikátorom a nejednoznačnému striedaniu.