Klíčové poznatky
- 01Tester používá nativní modul JavaScript RegExp vašeho prohlížeče, takže výsledky odpovídají přesně tomu, co Node.js nebo moderní prohlížeč vytvoří v produkci.
- 02Všech šest příznaků JavaScriptu (g, i, m, s, y, u) je dostupných jednotlivě.
- 03Šablony nahrazení podporují {1, {2, {& a {$ pro výkonné náhledy substituce.
- 04Nic se neposílá na server — vzory a testovací řetězce zůstávají zcela v prohlížeči.
Proč má vyhrazený tester regulárních výrazů lepší oproti vašemu IDE
Regulární výrazy jsou výkonné, ale notoricky těžko čitelné na první pohled. I zkušení vývojáři se dostanou do překvapení: tečka, která pohlcuje zásadní řádky, chamtivý kvantifikátor, který spotřebuje příliš mnoho, nebo skupinu zachycení, která je o jeden vypnuta. Vyhrazený tester odstraní okolní kód, aby jste mohli opakovat pouze na vzoru a vstupním řetězci najednou.
Tester regulárních výrazů aplikace Handytool vyhodnocuje vzory pomocí nativního modulu ECMAScript RegExp prohlížeče, což znamená, že neexistuje žádná vrstva překladu a žádný nesoulad příznaku. Pokud tester řekne, že se shoduje, váš kód JavaScriptu také bude. Přepínajte příznaky, vlepte nový vzor řetězce a výsledky se aktualizují okamžitě — není potřeba tlačítko spuštění.
Jak otestovat vzor regulárního výrazu
Celý pracovní postup trvá méně než minutu.
- 01
Vlepte nebo zadejte svůj vzor
Zadejte regulární výraz do pole vzoru. Vynechejte obklopující lomítka — příznaky se nastavují zvlášť.
- 02
Nastavte své příznaky
Přepínajte g, i, m, s, y a u jednotlivě. Globální příznak je téměř vždy potřebný pro případy vícenásobného shodování.
- 03
Vlepte svůj testovací řetězec
Přidejte text, který chcete porovnat. Každé stisknutí klávesy znovu spustí vzor a zvýrazní shody ve vstupu.
- 04
Zkontrolujte skupiny zaznamení
Posuňte seznam shod, abyste viděli pozici každé shody a hodnotu každé očíslované skupiny zaznamení.
- 05
Náhled náhrady
Zadejte šablonu nahrazení pomocí {1, {2 nebo {& a podívejte se na výstup substituce naživo — skvělé pro ověření String.replace() volání před zapsáním.
Kontrola ladění regulárního výrazu
Než budete předpokládat chybu, projděte toto:
- 01Je povolena globální vlajka, pokud očekáváte více než jednu shodu?
- 02Měly by se tečky shodovat se zásadními řádky? Povolte příznak s, pokud ano.
- 03Používáte očíslované skupiny ({1, {2) nebo pojmenované skupiny (\k<name>) v nahrazení?
- 04Používá vzor Unicode úniky (\p{…})? Vyžaduje příznak u.
- 05Potřebuje lepkavý příznak (y) svěž lastIndex pro každou shodu?
Soukromí dle návrhu
Tester regulárních výrazů nevytváří žádné síťové požadavky, když píšete. Váš vzor a testovací řetězec jsou zpracovávány zcela modulem JavaScript vašeho prohlížeče — nikdy se nedostanou na server. To jej bezpečným způsobem vstavuje do vložení vlastnického záznamu logů, vnitřní datové části API nebo citlivých řetězců během ladění.
Protože neexistuje žádné back-end, neexistuje ani limit sazby, není vyžadován účet a neexistuje omezení velikosti vložení mimo to, co může váš panel prohlížeče zvládnout. Nejvíce běžných vzorů a řetězců se vyhodnocuje za méně milisekundy.
Časté otázky testeru regulárního výrazu
Jaké je vařivo regulárních výrazů tohoto testeru?
JavaScript (ECMAScript). Vzory jsou vyhodnocovány nativním modulem RegExp prohlížeče, který přesně odpovídá chování Node.js a moderního prohlížeče. Pohledbehind, pojmenované skupiny a Unicode vlastnost úniky (\p{…} s příznakem u) jsou všechny podporovány.
Opustí můj vzor nebo testovací řetězec stránku?
Ne. Vše běží místně v prohlížeči — když píšete vzor, měníte příznaky nebo náhled náhrady, nejsou vytvářeny síťové požadavky.
Jak používám skupiny zaznamení v poli nahrazení?
Použijte {1, {2, … pro očíslované skupiny, {& pro celou shodu a {{ k vložení doslova znaku dolaru. Náhled se aktualizuje naživo, když změníte vzor nebo šablonu.
Funguje to pro Python nebo PCRE vzory?
Modul je JavaScript, takže se většina základních vzorů chová stejně, ale skupiny pojmenované stylem Python (?P<name>…) a přídavné kvantifikátory nejsou podporovány. Použijte ekvivalenty JS — (?<name>…) pro pojmenované skupiny.
Proč se můj regulární výraz nehoduje na zásadních řádků?
Povolte příznak s (dot-all) nebo nahraďte . za [\s\S]. Bez něj se tečka shoduje s jakýmkoli znakem kromě zásadního řádku.